MySQL密码修改有四种方式:已登录时用ALTER USER(8.0+)或SET PASSWORD(5.7);忘密时跳过授权表重置;用mysqladmin工具快速修改;创建/修改远程用户需匹配host并刷新权限。

MySQL 用户密码修改有多种方式,具体取决于你当前的权限、MySQL 版本(5.7 / 8.0+)以及是否能正常登录。下面分几种常见场景说明操作方法,重点讲清命令逻辑和注意事项。
通过已登录 MySQL 修改当前用户密码
适用于你已用 root 或其他高权限账号成功登录 MySQL 命令行的情况。注意:MySQL 8.0+ 不再支持 SET PASSWORD = PASSWORD('xxx') 这类旧语法,必须使用新格式。
- MySQL 8.0+ 推荐写法(安全且兼容):
ALTER USER CURRENT_USER() IDENTIFIED BY '新密码';
或指定用户名:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; - MySQL 5.7 可用(但 8.0 已废弃):
SET PASSWORD = PASSWORD('新密码');
或针对特定用户:SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码');
忘记 root 密码时重置(跳过授权表)
适用于完全无法登录,需要绕过密码验证来重置 root 密码。操作需有服务器系统级权限(如 Linux 的 sudo)。
- 停止 MySQL 服务:
sudo systemctl stop mysqld(CentOS/RHEL)或sudo service mysql stop(Ubuntu/Debian) - 以跳过权限检查方式启动:
sudo mysqld_safe --skip-grant-tables --skip-networking & - 另开终端,无密码登录:
mysql -u root - 执行重置(注意:8.0+ 必须先刷新权限):
FLUSH PRIVILEGES;ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; - 重启 MySQL 正常服务:
先 kill mysqld_safe 进程,再systemctl start mysqld
使用 mysqladmin 工具快速修改(仅限本地且知道原密码)
适合脚本化操作或临时修改,无需进入 MySQL 命令行。
JS超酷图片翻动展示效果,根据鼠标进出图片的方向来控制图片进出的方式,效果超炫,兼容主流浏览器。 使用方法: 1、head区域引用文件 lrtk.css,animation.css 2、在文件中加入!-- 代码 开始 --!-- 代码 结束 --区域代码 3、js代码需要在html代码之后载入public.js,main.js 4、如需修改图片尺寸,直接在lrtk.css第10行修改即可
- 修改本机 root 密码(需原密码):
mysqladmin -u root -p password "新密码"
执行后会提示输入当前密码 - 修改非 root 用户(如 user1):
mysqladmin -u root -p password "新密码" -h localhost -P 3306
再进 MySQL 手动更新 user 表或用 ALTER USER(推荐)
创建或修改远程用户密码(注意 host 和权限)
如果用户允许从其他 IP 登录(如 'user'@'%'),修改密码后还需确认权限是否生效。
- 先确认用户是否存在及 host 值:
SELECT User, Host FROM mysql.user WHERE User = '用户名'; - 修改对应 host 的密码(例如允许所有 IP):
ALTER USER '用户名'@'%' IDENTIFIED BY '新密码'; - 刷新权限:
FLUSH PRIVILEGES; - 确保防火墙和 MySQL 绑定地址(
bind-address)允许远程连接
密码强度建议使用大小写字母+数字+符号组合,避免空格和特殊字符(如 @ / $ 在 shell 中可能需转义)。修改后可立即用新密码尝试连接验证,不复杂但容易忽略 host 匹配和权限刷新步骤。









