Heim  >  Artikel  >  Datenbank  >  So lösen Sie das Problem des Vergessens von Root in Linux MySQL

So lösen Sie das Problem des Vergessens von Root in Linux MySQL

PHPz
PHPzOriginal
2023-04-21 14:22:091163Durchsuche

在使用Linux系统和MySQL数据库时,我们不可避免地会遇到各种问题,比如忘记了root账户的密码。这时候,有些人可能会感到困惑和无助,但我们可以通过一些方法来重新设置root账户的密码。本文将向读者介绍忘记root账户密码后,如何在Linux上使用MySQL数据库。

  1. 使用sudo命令获取root权限

在Linux上操作MySQL需要拥有root权限,如果原本的root账户密码已经忘记了,可以使用sudo命令获取root权限,并重置新的root密码。

步骤如下:

  1. 打开终端,输入以下命令获取root权限:
sudo su
  1. 输入当前用户的密码,确认身份
  2. 进入MySQL:
mysql -u root
  1. 重置root密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

其中,NewPassword为新密码,可以根据实际情况修改。

  1. 退出MySQL:
quit;
  1. 使用--skip-grant-tables选项

如果无法使用上述方法获取root权限,可以使用MySQL的--skip-grant-tables选项来重置root密码。

步骤如下:

  1. 关闭MySQL:
sudo systemctl stop mysql
  1. 以管理员身份启动MySQL:
mysqld_safe --skip-grant-tables &
  1. 进入MySQL:
mysql -u root
  1. 切换到MySQL数据库:
use mysql;
  1. 更新root账户密码:
UPDATE user SET authentication_string=PASSWORD('NewPassword') WHERE User='root';

其中,NewPassword为新密码,可以根据实际情况修改。

  1. 刷新更新缓存:
FLUSH PRIVILEGES;
  1. 退出MySQL:
quit;
  1. 重新启动MySQL:
sudo systemctl start mysql

这种方法会关闭root账户的权限验证,因此在使用完该方法后要及时恢复权限验证,避免安全风险。

  1. 修改配置文件

如果使用上述方法均不能解决问题,还可以尝试修改MySQL配置文件来重置root密码。

步骤如下:

  1. 编辑MySQL配置文件:
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
  1. 在[mysqld]部分添加以下语句:
skip-grant-tables
  1. 保存并退出。
  2. 重启MySQL:
sudo systemctl restart mysql
  1. 进入MySQL:
mysql -u root
  1. 更新root密码:
UPDATE mysql.user SET authentication_string=PASSWORD('NewPassword') WHERE User='root';

其中,NewPassword为新密码,可以根据实际情况修改。

  1. 刷新缓存:
FLUSH PRIVILEGES;
  1. 修改MySQL配置文件:
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
  1. 删除之前添加的--skip-grant-tables语句。
  2. 保存并退出。
  3. 重启MySQL:
sudo systemctl restart mysql

总结

忘记root密码是一个常见的问题,在使用Linux和MySQL时不可避免地会遇到。本文介绍了三种重置root密码的方法,其中使用sudo命令和--skip-grant-tables选项是最常用的方法,但需要注意在使用后及时恢复权限验证。如果以上方法都不能解决问题,需要考虑其他的解决方案,比如重新安装MySQL等。但无论使用哪种方法,都应该谨慎操作,并遵循操作规范,以保证数据的安全。

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem des Vergessens von Root in Linux MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn