mysql初始密码的修改
MySQL 安装后,发现可以无密码登录,例如 mysql -u root,或 mysql -u root -p,不输入密码也可以登录;同时,代码中使用 root 用户和密码却无法登录。我上网查了一下,发现是没有启用 mysql_native_password plugin 的问题。下面是一个简短的教程使得 MySQL 必须使用密码才可以登录。
登录 MySQL:
sudo mysql -u root
注意到这里没有使用密码。
下面运行以下命令,开启 mysql_native_password:
USE mysql;
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
exit;
重启 MySQL:
sudo systemctl restart mysql.service
重置 root 密码:
sudo mysql_secure_installation
建议配置如下,其中会有一个设置密码强度的选项,选择 Low:
mysql8.0以上,要求设置密码安全度到100,才可以使用
Enter current password for root (enter for none):
Would you like to setup VALIDATE PASSWORD plugin?: Y
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0
Set root password?: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users?: Y
Disallow root login remotely?: Y
Remove test database and access to it?: Y
Reload privilege tables now?: Y
现在无密码登录已经不允许了,输入:
sudo mysql -u root -p
输入密码登录。
参考:https://zhuanlan.zhihu.com/p/158923815