# 在启动日志中查看 root 初始密码:
grep "password" /var/log/mysql/mysqld.log
会看到类似如下信息
...is created with an empty password !
初始时,MySQL Server 的 root 账号密码为空。
修改默认 root 密码
使用 root 初始密码连接到 mysql-server,例如:
mysql -u root -p
Enter password: <此处直接回车>
mysql 8.0.26 对于密码的安全性没有默认的要求;
mysql 8.0.29 默认则要求大小写字母数字加特殊字符,且长度要超过 8 位。
输入以下 SQL 语句,将 root 初始密码改为自定义的密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '这里写新密码';
放开 root 账号的的远程登录限制
USE mysql;
UPDATE `user` SET `host` = '%' where `user` = 'root' AND `host` = 'localhost';
FLUSH PRIVILEGES;
exit;
验证:退出后使用新密码登录。
降低密码安全性要求,再次重设 root 密码
注意:只有重置 root 初始密码之后才能进行相关配置。
第 1 步:查看、并修改相关配置项:
SHOW VARIABLES LIKE 'validate_password%';
set global validate_password.policy=0;
set global validate_password.length=4;
SHOW VARIABLES LIKE 'validate_password%';
第 2 步:重置 root 密码,重置成简单密码:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';