一、安装前清理工作(卸载mysql和 删除MariaDB的文件)
1 使用以下命令查找出安装的mysql软件包和依赖包
rpm -pa | grep mysql
- 可能显示结果如下:
mysql80-community-release-el7-1.noarch
mysql-community-server-8.0.11-1.el7.x86_64
mysql-community-common-8.0.11-1.el7.x86_64
mysql-community-libs-8.0.11-1.el7.x86_64
mysql-community-client-8.0.11-1.el7.x86_64
- 使用以下命令依次删除上面的程序
yum remove mysql-xxx-xxx-
- 删除mysql的配置文件,卸载不会自动删除配置文件,首先使用如下命令查找出所用的配置文件
find / -name mysql
- 可能的显示结果如下
/etc/logrotate.d/mysql
/etc/selinux/targeted/active/modules/100/mysql
/etc/selinux/targeted/tmp/modules/100/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/bin/mysql
/usr/lib64/mysql
/usr/local/mysql
- 根据需求使用以下命令 依次 对配置文件进行删除
rm -rf /var/lib/mysql
2 删除MariaDB的文件
- 由于MySQL在CentOS7中收费了,所以已经不支持MySQL了,取而代之在CentOS7内部集成了mariadb,而安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB
- 使用rpm 命令查找出要删除的mariadb文件
rpm -pa | grep mariadb
//可能的显示结果如下:
mariadb-libs-5.5.56-2.el7.x86_64
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 #删除上面的程序
上面执行完后最好在执行以下命令
rpm -qa|grep -i mariadb-libs
rpm -e mariadb-libs-XXXXXX.x86_64 --nodeps
二、安装mysql
- 官网下载地址:https://downloads.mysql.com/archives/community/
- 可以使用Xftp或者其他的工具上传到linux /usr/local目录下
cd /usr/local
- 将文件直接上传到这个目录,然后进行解压
tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
- 解压出了一个文件夹 ,将他重命名为mysql
mv /usr/local/mysql-8.0.19-linux-glibc2.12-x86_64 /usr/local/mysql
- 在MySQL根目录下新建一个文件夹data
mkdir data
- 创建 mysql 用户组和 mysql 用户
groupadd mysql
useradd -g mysql mysql
- 改变 mysql 目录权限
chown -R mysql.mysql /usr/local/mysql/
- 接下来 初始化数据库,如果出现目录不存在,查看是否已经更改了目录权限,需要在mysql根目录下执行
./bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --lower_case_table_names=1 --datadir=/usr/local/mysql/data/ --initialize
注意:以上初始化代码解释:
basedir=/usr/local/mysql/ 安装目录
lower_case_table_names=1 设置大小写不敏感(linux默认大小写敏感)
datadir=/usr/local/mysql/data/ 数据库存放目录
由于Mysql高版本舍弃了my.cnf,所以安装Mysql高版本一旦初始化,很多配置没法修改(本人未找到方法修改),所以初始化时根据需要进行配置,否则初始化后想修改某些配置时可能需要重新安装
- 成功后,系统会给你一个临时的密码,一般在最后一行,要记录下来,首次登陆时需要
- 建立MySQL服务
# 添加Mysql到系统服务
cp -a ./support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
# 检查服务是否生效
chkconfig --list mysql
- 做一个软连接到mysql的安装目录下:
ln -s /usr/local/mysql/bin/mysql /usr/bin
- 启动Mysql
# 启动
service mysql start;
# 查看启动状态
service mysql status;
# 登陆
mysql -uroot -p
# 输入"初始化数据库"操作时的"临时密码"
- 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
- 设置允许远程连接
use mysql
update user set host ='%' where user='root';
FLUSH PRIVILEGES;