

新闻资讯
技术学院MySQL密码修改有四种方式:已登录时用ALTER USER(8.0+)或SET PASSWORD(5.7);忘密时跳过授权表重置;用mysqladmin工具快速修改;创建/修改远程用户需匹配host并刷新权限。
MySQL 用户密码修改有多种方式,具体取决于你当前的权限、MySQL 版本(5.7 / 8.0+)以及是否能正常登录。下面分几种常见场景说明操作方法,重点讲清命令逻辑和注意事项。
适用于你已用 root 或其他高权限账号成功登录 MySQL 命令行的情况。注意:MySQL 8.0+ 不再支持 SET PASSWORD = PASSWORD('xxx') 这类旧语法,必须使用新格式。
ALTER USER CURRENT_USER() IDENTIFIED BY '新密码';ALTER USER 'root'@'localhost' IDENT
IFIED BY '新密码';
SET PASSWORD = PASSWORD('新密码');SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码');
适用于完全无法登录,需要绕过密码验证来重置 root 密码。操作需有服务器系统级权限(如 Linux 的 sudo)。
sudo systemctl stop mysqld(CentOS/RHEL)或sudo service mysql stop(Ubuntu/Debian)sudo mysqld_safe --skip-grant-tables --skip-networking &
mysql -u root
FLUSH PRIVILEGES;ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
systemctl start mysqld
适合脚本化操作或临时修改,无需进入 MySQL 命令行。
mysqladmin -u root -p password "新密码"mysqladmin -u root -p password "新密码" -h localhost -P 3306如果用户允许从其他 IP 登录(如 'user'@'%'),修改密码后还需确认权限是否生效。
SELECT User, Host FROM mysql.user WHERE User = '用户名';
ALTER USER '用户名'@'%' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;
bind-address)允许远程连接密码强度建议使用大小写字母+数字+符号组合,避免空格和特殊字符(如 @ / $ 在 shell 中可能需转义)。修改后可立即用新密码尝试连接验证,不复杂但容易忽略 host 匹配和权限刷新步骤。