MySQL 8.0版本开始,新安装的MySQL实例会生成一个临时密码,用来保护root账户。在此之前,root账户是没有密码的。
如果需要登录MySQL并进行操作,就需要查看临时密码。
以下是查看临时密码的步骤:
$ sudo grep 'temporary password' /var/log/mysqld.log
上述命令会在MySQL日志文件(/var/log/mysqld.log)中查找“temporary password”,并显示相关信息。
示例输出:
$ sudo grep 'temporary password' /var/log/mysqld.log
2021-11-03T09:50:38.947548Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: bs/4h#k0)mM4
以上输出中,临时密码为“bs/4h#k0)mM4”。
请注意,如果您正在使用的是MySQL 5.7或更早版本,临时密码会被保存在错误日志文件中,而非MySQL日志文件中。
$ sudo grep 'temporary password' /var/log/mysqld.log
2021-11-03T09:50:38.947548Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: bs/4h#k0)mM4
$ sudo grep 'temporary password' /var/log/mysqld.log 2>/dev/null | awk '{print $NF}'
bs/4h#k0)mM4
如果您需要修改临时密码,请使用以下命令:
$ mysql_secure_installation
该命令会提示您输入当前的临时密码,并允许您设置新密码。