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

1 分钟阅读
0

如何在运行 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 命令历史记录设置为 /dev/null,然后登录 MariaDB 监视器:

重要信息:设置命令 history /dev/null 可防止您的密码信息以明文形式出现在历史记录文件中。完成完整过程后,可以重置此值。

export MYSQL_HISTFILE=/dev/null
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

AWS 官方
AWS 官方已更新 2 年前