如果你在百忙之中忘记了 Root 密码,或者设置密码的时候敲错了文字,可以手动重置 Root 密码
操作流程(本例 CentOS 7)
1 、关闭当前 Mysql 服务
systemctl stop mariadb.service
2 、以安全模式启动 Mysql
sudo mysqld_safe --skip-grant-tables --skip-networking &
PS:添加 --skip-networking
用以避免远程无密码登录 MySQL 。
2.1 、可以使用 MySQL Administrator 修改密码(请替换 MyNewPass4! 字段)
mysqladmin -u root -p -h localhost password "MyNewPass4!"
3 、进入 Mysql 并打开"mysql"表
mysql -u root mysql
3.1 、登录 Mysql 命令行后可以使用 ALTER 修改密码(请替换 MyNewPass4! 字段)
MySQL [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!'; MySQL [(none)]> FLUSH PRIVILEGES;
3.2 、登录 Mysql 命令行后可以使用 SET 修改密码(请替换 MyNewPass4! 字段)
MySQL [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass4!'); MySQL [(none)]> FLUSH PRIVILEGES;
3.3 、旧版重新设置所有 Root 账户的密码并刷新数据库(请替换 MyNewPass4! 字段)
MySQL [(none)]> update mysql.user set password=PASSWORD("MyNewPass4!") where User='root'; MySQL [(none)]> FLUSH PRIVILEGES;
5 、重启 Mysql 服务
systemctl restart mariadb.service