CentOS 7中使用rpm方式安装MySQL 5.7后无法使用root登录解决

OS版本:

RPM方式安装mysql-server过程如下:

$ su root

$ sudo wget http://repo.mysql.com/mysql57-community-release-el7-7.noarch.rpm

$ sudo rpm -ivh mysql57-community-release-el7-7.noarch.rpm

$ sudo yum install mysql-server

##一路yes之后等待安装成功的提示

到此为止,mysql57已经成功安装。现在使用root尝试登录到mysql,提示错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost'

发生这个问题的原因估计是rpm方式安装之后mysql使用了默认密码来初始化root用户。

度娘谷歌之后得到的解决方案对5.7.x版本无效。 在官网上寻找到了一些思路 https://dev.mysql.com/doc/refman/5.7/en/server-management-using-systemd.html

mysql5.7.x版本有一些新的变化,大致是

扫描二维码关注公众号,回复: 1976240 查看本文章

1.mysqld_safe已经被废弃,rpm安装包默认不会安装mysqld_safe

2.user表中password列已经更改为authentication_string

在经过多次试验之后终于解决了root登录问题。解决步骤如下

$ sudo systemctl stop mysqld.service

$ sudo systemctl set-environment MYSQLD_OPTS="--user=mysql --skip-grant-tables --skip-networking"

$ sudo systemctl start mysqld.service

$ mysql -u root mysql

mysql > UPDATE mysql.user SET authentication_string=PASSWORD("abcdef")  WHERE user='root' and host='localhost';

mysql > flush privileges;

mysql > quit

$ sudo systemctl unset-environment MYSQLD_OPTS

$ sudo systemctl restart mysqld.service

OK,经过以上几个步骤操作之后,重新使用root登录成功。

猜你喜欢

转载自www.linuxidc.com/Linux/2016-03/128940.htm
今日推荐