在 MySQL 中设置或修改用户密码有多种方式,具体操作取决于你使用的 MySQL 版本(如 5.7、8.0+)以及访问权限情况。以下是常用的几种配置方法,适用于本地或远程用户。
使用 ALTER USER 设置密码
MySQL 5.7.6 及以上版本推荐使用 ALTER USER 语句来修改用户密码。登录到 MySQL 服务器后执行:
ALTER USER '用户名'@'主机' IDENTIFIED BY '新密码';
例如,为本地 root 用户设置密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass123!';
修改完成后,刷新权限:
FLUSH PRIVILEGES;
使用 SET PASSWORD 设置当前用户密码
如果你只想修改当前登录用户的密码,可以使用 SET PASSWORD 命令。命令格式:
SET PASSWORD = PASSWORD('新密码');⚠️ 注意:从 MySQL 8.0 开始,
PASSWORD()函数已被弃用,应直接使用:
SET PASSWORD = '新密码';
通过 UPDATE 直接修改 mysql.user 表(不推荐)
在特殊情况下(如忘记 root 密码),可进入安全模式修改 user 表。步骤如下:
停止 MySQL 服务:sudo systemctl stop mysql以跳过权限表方式启动:
mysqld_safe --skip-grant-tables &登录 MySQL 并执行:
USE mysql;<br>UPDATE user SET authentication_string = PASSWORD('新密码') WHERE User = 'root' AND Host = 'localhost';<br>FLUSH PRIVILEGES;然后重启 MySQL 服务。注意:该方法风险较高,仅用于紧急恢复。
初始化时设置 root 密码(首次安装)
MySQL 5.7+ 安装后会生成临时 root 密码,可在日志中查看:CentOS/Ubuntu 查看命令:
sudo grep 'temporary password' /var/log/mysqld.log
首次登录后必须立即修改密码:
mysql -u root -p<br>ALTER USER 'root'@'localhost' IDENTIFIED BY '强密码';
基本上就这些。不同版本语法略有差异,关键是确认你的 MySQL 版本并使用对应方式。操作时注意密码策略要求(长度、复杂度等),避免报错。
