温馨提示×

Ubuntu MySQL怎么改密

小樊
41
2026-09-16 06:18:50
栏目: 云计算

在 Ubuntu 上修改 MySQL 密码,常见有 记得原密码忘记密码 两种情况。下面分别说明(以 MySQL 5.7 / 8.0 为例)。


一、记得原密码(推荐方式)

1. 登录 MySQL

mysql -u root -p

2. 修改密码

MySQL 8.0

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;

MySQL 5.7

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;

如果是其他用户,把 root 换成用户名即可。


二、忘记 root 密码(重置密码)

1. 停止 MySQL 服务

sudo systemctl stop mysql

2. 以跳过权限方式启动

sudo mysqld_safe --skip-grant-tables &

或(部分版本):

sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
sudo mysqld --skip-grant-tables &

3. 无密码登录

mysql -u root

4. 修改密码

MySQL 8.0

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

MySQL 5.7

UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
FLUSH PRIVILEGES;

5. 退出并重启 MySQL

exit
sudo systemctl restart mysql

三、常见问题

1. 报错:Access denied for user 'root'@'localhost'

  • 确认是否用 sudo
  • 确认 root 使用的是 auth_socket 插件(Ubuntu 默认)

查看:

SELECT user, host, plugin FROM mysql.user;

如果是 auth_socket,可改为密码登录:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';

2. Ubuntu 20.04 / 22.04 默认安装

Ubuntu 上 MySQL root 常使用 sudo mysql 登录:

sudo mysql

如果你告诉我:

  • MySQL 版本
  • 是否记得密码
  • 是 root 还是普通用户

我可以给你最精确的一步一步命令

0