一时谈新鲜,官网下载了最新的(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方式去找到这个密码。
[[email protected] home]# grep 'temporary password' /var/log/mysqld.log
2016-04-06T15:23:30.713906Z 1 [Note] A temporary password is generated for [email protected]: *RrWkwi072ta
的确密码出来了,
但是问题来了,用这个密码#mysql -uroot -p怎么也进不去,一直报错
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
没辙了,老办法
#service mysqld stop先停止mysqld
执行,进入安全模式
[[email protected] 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');
?
?
?