MySQL 5.6 Root密码修改完整流程
MySQL 5.6 Root密码修改完整流程
- 一、常规修改(已知原密码)
- 二、强制重置(忘记密码)
- 三、权限修正(避免连接失败)
- 四、验证及安全加固
- 操作注意
一、常规修改(已知原密码)
-- 方法1:SET PASSWORD命令
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码');
FLUSH PRIVILEGES; -- 强制刷新权限缓存:ml-citation{ref="3,5" data="citationList"}
-- 方法2:UPDATE直接修改
UPDATE mysql.user SET Password=PASSWORD('新密码')
WHERE User='root' AND Host='localhost'; -- 注意字段名为Password:ml-citation{ref="5,9" data="citationList"}
FLUSH PRIVILEGES
二、强制重置(忘记密码)
1、停止MySQL服务
Linux系统
service mysql stopWindows服务
net stop MySQL56
2、安全模式启动
修改配置文件my.cnf/my.ini,在[mysqld]段添加:
skip-grant-tables -- 跳过权限验证:ml-citation{ref="4,8" data="citationList"}
3、无密码登录并重置
-- 登录后执行
UPDATE mysql.user SET Password=PASSWORD('NewPass123!')
WHERE User='root'; -- 注意MySQL 5.6使用Password字段:ml-citation{ref="5,9" data="citationList"}
-- 重启服务并移除skip-grant-tables配置
service mysql restart
三、权限修正(避免连接失败)
-- 检查权限分布
SELECT Host, User FROM mysql.user WHERE User='root';
-- 同步修改所有root账户
UPDATE mysql.user SET Password=PASSWORD('统一密码')
WHERE User='root'; -- 包含localhost/%/127.0.0.1等主机:ml-citation{ref="9" data="citationList"}
四、验证及安全加固
1、连接测试
mysql -u root -p新密码 -e "SELECT 1;" -- 验证密码是否生效:ml-citation{ref="5" data="citationList"}
2、密码策略激活
-- 启用密码复杂度检查(需安装validate_password插件)
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
SET GLOBAL validate_password_policy=1;:ml-citation{ref="3" data="citationList"}
操作注意
● 修改后若出现ERROR 1045,检查防火墙是否开放3306端口
● 生产环境建议通过ALTER USER同步修改所有root账户主机权限