Centos7 mysql5.6升级至5.7

之前记录过怎么使用yum安装mysql5.6:CentOS7 yum安装mysql5.6,由于某些原因需要升级mysql版本,

卸载旧版本mysql

当然要记得备份数据库数据

1.查看需要卸载的部分:

rpm -qa |grep -i mysql

2.开始卸载:

yum remove mysql-community-release mysql-community-server mysql-community-common mysql-community-libs mysql-community-client

3.清理文件:

find / -name mysql

接下来是安装新版mysql

1.下载并安装源:

wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
yum localinstall mysql57-community-release-el7-7.noarch.rpm

2.开始安装:

yum install -y mysql-server

3.安装完成并确认版本:

mysql --version

4.接下来就去恢复数据库数据吧.

遇到的问题

  • 1.MySQL 5.7 在初始安装后(CentOS7 操作系统)会生成随机初始密码,并在 /var/log/mysqld.log 中有记录,可以通过 cat 命令查看,找 password 关键字
grep 'temporary password' /var/log/mysqld.log

不过使用该临时密码登录的时候却出错了.

解决办法:

1.修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不对密码进行验证
2.重启 mysqld 服务:systemctl restart mysqld
3.使用 root 用户登录到 mysql:mysql -u root
4.`切换到mysql数据库,更新user表:
update user set authentication_string = password('新密码'), password_expired = 'N', password_last_changed = now() where user = 'root';
5.退出 mysql,编辑/etc/my.cnf文件,删除skip-grant-tables=1的内容并重启mysqld服务
  • 2.mysql远程连接1130问题可参考之前的文章: CentOS7 yum安装mysql5.6

  • 3.新增用户提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

解决办法:

这个其实与validate_password_policy的值有关。 默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。 所以只需要修改值为0:

set global validate_password_policy=0;

再次尝试新建用户即可;

参考地址:

Comments