Centos 7 安装MySQL 8.0
一、前言:这几天安装了一个新的Linux服务器,需要安装MySQL 8.0以上版本,试了很多方法,最后弄了好久才弄好,记录一下踩坑经过
二、安装方法:
1. 安装包安装,在官网下载了好几个版本的安装包,发现在安装的时候都会有问题,并且都是一些解决不了的问题,这个有可能是跟我的Centos 7 的版本有关,我安装的是最小内容的Centos系统,所以有些依赖包可能缺失,导致一直安装不成功,所以启用此方法
2. 使用yum
命令下载然后安装,在网上也有很多教程是使用这个方法的,但是有些也是安装到一半就碰到问题无法解决的了,最后使用这篇文章的方法才成功:Centos7安装mysql8.0教程
三、卸载mysql的旧版本
1. 卸载:
yum -y remove MySQL-*
2. 查看mysql的残留文件,有的话到对应文件夹中删除
find / -name mysql
3. 删除mysql配置和密码
rm -rf /etc/my.cnf
rm -rf /root/.mysql_sercret
四、下载安装
1. 配置安装源
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
2. 安装
sudo yum --enablerepo=mysql80-community install mysql-community-server
五、启动和登录mysql
1. 启动:
sudo service mysqld start
出现下面的就是启动成功了
Redirecting to /bin/systemctl start mysqld.service
2. 查看生成的root的临时登录密码
grep "A temporary password" /var/log/mysqld.log
3. 使用查询到的登录密码登录到mysql中
执行下面的命令
mysql -uroot -p
接着输入查询到的临时密码登录到mysql
4. 登录成功后需要先更改临时密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
如果出现ERROR 1819 (HY000): Your password does not satisfy the current policy requirements(密码不符合当前策略)
,则需要把密码设置的复杂一点,密码中要同时包含有字母,数字和字符,还要是八位以上,登录后可以修改密码策略,然后就可以设置简单的密码了。
5. 更改密码策略,如果是需要使用复杂密码的,可以跳过这一步
SHOW VARIABLES LIKE 'validate_password.%';
查询结果中的validate_password.length
是密码的最小长度,validate_password.policy
是密码的复杂程度,validate_password.check_user_name
是用户名检查,开启后用户名和密码不能相同,根据自己的需要更改对应的策略:
set global validate_password.length=6;
set global validate_password.policy=0;
set global validate_password.check_user_name=off;
六、配置远程访问,请查看此文章配置远程访问:远程连接MySQL
七、安装过程遇到的问题:
1. 使用sudo yum --enablerepo=mysql80-community install mysql-community-server
安装的时候出现错误,提示需要mysql-community-common-8.0.20-1.el7.x86_64
,但是检测到已经安装了mysql-community-common-8.0.20-1.el8.x86_64
,所以安装失败,因为在配置安装源的时候指定是安装el7的mysql-community-server:sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
。
解决方法:卸载el8后安装el7,然后重新安装就可以了
yum remove mysql-community-common-8.0.20-1.el8.x86_64
yum install mysql-community-common-8.0.20-1.el7.x86_64