结论:CentOS系统用yum安装MySQL的朋友,请使用 grep "temporary password" /var/log/mysqld.log 命令,返回结果最后引号后面的字符串就是root的默认密码。
SET PASSWORD = PASSWORD('你的新密码');

以前,安装完MySQL之后,可以直接用mysql -uroot进入MySQL控制台的,结果现在不行了,会提示

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

MySQL现在还有默认密码了?去MySQL官网一查文档,在MySQL的这篇名为《Changes in MySQL 5.7.4 (2014-03-31, Milestone 14)》的文档里有这么一段:

  在安装的过程里,将仅创建一个root账户——'root'@'localhost',同时将自动生成一个随机密码给它,并标记此密码已过期。MySQL管理员必须使用随机密码登陆root账户,并使用SET PASSWORD去设置一个新的密码。(随机密码可以在运行安装脚本的有效用户其主目录中的.mysql_secret文件中找到。)

其实

MySQL在运行的时候会有一个日志文件,它存在于/var/log/mysqld.log,我们在安装时生成的随机密码就在这个文件里,我们可以直接用下面这条命令显示出这个文件里的所有内容:

grep "temporary password" /var/log/mysqld.log

设置新密码:

SET PASSWORD = PASSWORD('你的新密码');

不过需要注意的是现在MySQL已经强制要求强密码,已经不能再用弱密码比如“123456”了。如果你设置的密码过于简单,会提示错误:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
大小写字母+数字
Last modification:November 23, 2020
如果觉得我的文章对你有用,请随意赞赏