转:https://blog.csdn.net/kuluzs/article/details/51924086
mysql版本:5.7.13
【解决】:
一、找到密码
二、从新链接mysql:
【其余补充】
网上还有几种方案,可是都不行。例如:
首次在centos下安装mysql,客户端链接mysql时报错:html
[root@localhost opt]# /usr/bin/mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
【解决】:
一、找到密码
[root@localhost opt]# cat /var/log/mysqld.log | grep password 2016-07-16T05:01:47.771362Z 1 [Note] A temporary password is generated for root@localhost: q.)aq!YaH6y- 2016-07-16T05:02:32.000199Z 2 [Note] Access denied for user 'root'@'localhost' (using password: NO) 2016-07-16T05:02:39.063852Z 3 [Note] Access denied for user 'root'@'localhost' (using password: NO)
二、从新链接mysql:
[root@zzs171 opt]# /usr/bin/mysql -u root -p Enter password:
输入上面找到的密码,便可进入mysql客户端链接。
三、修改mysql的root的密码:
进入mysql客户端以后,show databases; 会提醒先修改密码:mysql
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
设置密码,如下两种方式都可:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Mysqlpassw0rd.'); alter user 'root'@'localhost' identified by 'Mysqlpassw0rd.';
OK,至此设置成功。注意mysql有密码复杂度的限制。密码太简单会提示:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123'); ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
【其余补充】
网上还有几种方案,可是都不行。例如:
方案一:
mysqladmin -u root password 123456,结果提示错误:error: 'Access denied for user 'root'@'localhost' (using password: NO)'
方案二:
用mysqld_safe skip-grant-tables进入mysql,而后sql语句修改root密码,仍是提示错误:-bash: mysqld_safe: comm