MySQL5.7安装碰到root密码不正确的问题。

一时谈新鲜,官网下载了最新的(mysql57-community-release-el6-7.noarch.rpm)通过yum 安装Mysql5.7

下载好后运行

 #rpm -Uvh mysql57-community-release-el6-n.noarch.rpm

 更新repo,然后

#yum install mysql-community-server

安装的时候都很正常,

安装完成后,

#service mysqld start初始化数据库都很正常,但是5.7多了一个validate_password plugin会初始化一个root密码

需要用#grep 'temporary password' /var/log/mysqld.log方式去找到这个密码。

[root@iZ23e06nkpkZ home]# grep 'temporary password' /var/log/mysqld.log

2016-04-06T15:23:30.713906Z 1 [Note] A temporary password is generated for root@localhost: *RrWkwi072ta

的确密码出来了,

但是问题来了,用这个密码#mysql -uroot -p怎么也进不去,一直报错

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

没辙了,老办法

#service mysqld stop先停止mysqld

执行,进入安全模式

[root@iZ23e06nkpkZ home]# mysqld_safe --skip-grant-tables &

输入mysql -uroot -p

不需要密码

进入到了mysql>

mysql> use mysql;

mysql> update mysql.user set authentication_string=password('myNewPassword') where user='root';

注意这里,原来5.6的时候,是password字段,现在变成authentication_string字段了。

mysql> flush privileges;

mysql> quit

之后

#service mysqld start

#mysql -uroot -p用新的密码进去了。

但是此时操作似乎功能不完全,还要alter user...

alter user 'root'@'localhost' identified by '123';

网文说酱紫也可以:set password for 'root'@'localhost'=password('123');

猜你喜欢

转载自radzhang.iteye.com/blog/2288998
今日推荐