使用 sudo apt install MySQL-server 方法安装的 MySQL 服务, 安装之后没有临时密码的日志, 想着直接修改 root 密码, 但是尝试了很多网上的方法, 但是都无法生效, 包括
使用
mysqld-safe --skip-grant-tables
启动服务, 然后修改密码
使用
mysql_secure_installation
命令引导修改密码
最后终于找到一个正确修改 root 密码的方法, 记录如下:
1. 输出安装时自动生成的 debian.cnf 文件内容
sudo cat /etc/MySQL/debian.cnf
输出内容如下
- # Automatically generated for Debian scripts. DO NOT TOUCH!
- [client]
- host = localhost
- user = debian-sys-maint
- password = iqhZ4BsjJvWsGXfy
- socket = /var/run/mysqld/mysqld.sock
- [mysql_upgrade]
- host = localhost
- user = debian-sys-maint
- password = iqhZ4BsjJvWsGXfy
- socket = /var/run/mysqld/mysqld.sock
2. 使用文件中的 user 段的 debian-sys-maint 用户进行登录
- $ MySQL -udebian-sys-maint -p
- Enter password: // 这里输入上面文件内的 password 段的值
3. 修改 root 用户的插件和密码
此处一定要记得改 plugin 的值为 mysql_native_password
UPDATE MySQL.user SET plugin="mysql_native_password", authentication_string=PASSWORD("password") WHERE user="root";
如果上一步骤中出现密码过于简单无法修改的情况, 可以先将
validate_password_policy
的值设置为 0 或者 LOW.
SET GLOBAL validate_password_policy=0;
4. 重启 MySQL 就可以使用新设置的密码进行登录了
sudo service MySQL restart
来源: https://www.qcloud.com/developer/article/1410136