温馨提示×

centos mysql如何设置密码

小樊
46
2026-09-29 21:44:01
栏目: 云计算

在 CentOS 上设置 MySQL 密码,通常分为首次安装后设置 root 密码和修改已有密码两种情况。下面以 CentOS 7/8 + MySQL 5.7/8.0 为例说明。


一、首次安装 MySQL 后设置 root 密码

1. 启动 MySQL

systemctl start mysqld
systemctl enable mysqld

2. 查看初始临时密码(MySQL 5.7+)

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

输出类似:

A temporary password is generated for root@localhost: xxxxxxxx

3. 登录 MySQL

mysql -u root -p

输入刚才查到的临时密码。

4. 修改 root 密码

MySQL 5.7 / 8.0:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';

密码需满足复杂度(大小写+数字+特殊字符)

刷新权限:

FLUSH PRIVILEGES;

二、忘记密码或重新设置密码

1. 停止 MySQL

systemctl stop mysqld

2. 跳过权限表启动

mysqld_safe --skip-grant-tables &

3. 无密码登录

mysql -u root

4. 修改密码

MySQL 5.7:

UPDATE mysql.user SET authentication_string=PASSWORD('NewPassword123!')
WHERE User='root';
FLUSH PRIVILEGES;

MySQL 8.0:

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';

5. 重启 MySQL

systemctl restart mysqld

三、创建新用户并设置密码(推荐)

CREATE USER 'testuser'@'%' IDENTIFIED BY 'Test@123456';
GRANT ALL PRIVILEGES ON *.* TO 'testuser'@'%';
FLUSH PRIVILEGES;

四、常见问题

  • 密码太简单报错
    可临时降低策略:

    SET GLOBAL validate_password_policy=LOW;
    
  • CentOS 使用 MariaDB
    命令类似,但用 mysql 即可,默认无密码。


如果你能告诉我:

  • CentOS 版本
  • MySQL 还是 MariaDB
  • 是否已安装 / 是否忘记密码

我可以给你更精确的步骤。

0 踩