如何在运行 Amazon Linux 2 的 Amazon EC2 实例上重置 MariaDB 根密码?

上次更新时间:2020 年 8 月 10 日

如何在运行 Amazon Linux 2 的 Amazon Elastic Compute Cloud (Amazon EC2) 实例上重置 MariaDB 根密码?

简短描述

默认情况下,Amazon Linux 2 上的 MariaDB 5.5 没有根密码。如果您为 MariaDB 创建了根密码,然后将自己锁在您的数据库之外,则必须重置根密码。

注意:重置根密码期间将无法查询数据库。

解决方法

1. 确保您拥有 MariaDB 数据目录所在卷的最新快照。如果需要,您可以利用此快照重新创建卷。

2. 停止 MariaDB 服务:

sudo systemctl stop mariadb

3. 在安全模式下启动 MariaDB:

sudo mysqld_safe --skip-grant-tables --skip-networking &

4. 登录到 MariaDB 监视器:

mysql -u root

5. 更新您的 MariaDB 根密码:

UPDATE mysql.user SET Password = PASSWORD('new_password_here') WHERE User = 'root';

输出将与以下类似:

Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

6. 刷新权限以重新加载授权表。您的新密码将在重新加载后生效。

FLUSH PRIVILEGES;

7. 退出 MariaDB 监视器:

exit

8. 停止 MariaDB 进程:

sudo kill `sudo cat /var/run/mariadb/mariadb.pid`

注意:终止进程可能需要几秒钟。

9. 启动 MariaDB 服务:

sudo systemctl start mariadb

10. 测试新的 MariaDB 根密码:

mysql -u root -p