mysql如何设置用户密码_mysql用户密码配置方法

MySQL 5.7及以上推荐用ALTER USER修改密码,如ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; 2. 当前用户可用SET PASSWORD = '新密码'; 3. 忘记密码时可跳过权限表启动并更新mysql.user表;4. 首次安装后需从日志获取临时密码并立即修改。注意版本差异与密码策略。

在 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;
UPDATE user SET authentication_string = PASSWORD('新密码') WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;

然后重启 MySQL 服务。注意:该方法风险较高,仅用于紧急恢复。

初始化时设置 root 密码(首次安装)

MySQL 5.7+ 安装后会生成临时 root 密码,可在日志中查看:

CentOS/Ubuntu 查看命令:

sudo grep 'temporary password' /var/log/mysqld.log

首次登录后必须立即修改密码:

mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '强密码';

基本上就这些。不同版本语法略有差异,关键是确认你的 MySQL 版本并使用对应方式。操作时注意密码策略要求(长度、复杂度等),避免报错。