如果你在Linux下忘记了MySQL或MariaDB的数据库密码,可以按照以下步骤重置密码:
首先,你需要停止MySQL或MariaDB服务。可以使用以下命令:
sudo systemctl stop mysql
或
sudo systemctl stop mariadb
接下来,以安全模式启动数据库,这样你可以不需要密码登录。
sudo mysqld_safe --skip-grant-tables &
这里的--skip-grant-tables选项允许你在没有权限检查的情况下访问数据库。
在安全模式下,连接到MySQL/MariaDB:
mysql -u root
在MySQL/MariaDB提示符下,执行以下命令以改变用户的密码。假设你要重置的是root用户的密码:
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
如果你使用的是MySQL 5.7版本或更早版本,可以使用下面的命令:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码');
输入以下命令以退出MySQL/MariaDB:
EXIT;
现在,你需要停止安全模式的MySQL/MariaDB,并重新启动服务:
sudo systemctl stop mysql
或
sudo systemctl stop mariadb
然后,重新启动MySQL/MariaDB服务:
sudo systemctl start mysql
或
sudo systemctl start mariadb
最后,使用新密码登录MySQL/MariaDB以确认密码已成功重置:
mysql -u root -p
系统会提示你输入新密码,输入后即可登录。
确保在进行操作时有足够的权限(通常需要root权限)。
在生产环境中,尽量避免使用--skip-grant-tables,因为它会使数据库处于不安全状态。
重置密码时,请务必选择一个强密码。
以上就是在Linux下重置MySQL或MariaDB密码的步骤。如果在执行过程中遇到任何问题,请根据错误信息进行相应的调整。