linuxmysql忘记密码怎么办
时间 : 2023-07-21 18:32:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

如果你忘记了 Linux 上 MySQL 数据库的密码,别担心,你还有几种方法可以恢复或重置密码。

1. 使用 mysql_safe 命令

在终端输入以下命令来停止 MySQL 服务:

```

sudo service mysql stop

```

然后使用以下命令以安全模式启动 MySQL 服务:

```

sudo mysqld_safe --skip-grant-tables &

```

这将启动 MySQL 服务并跳过密码验证。

接下来,在终端输入以下命令连接到 MySQL 服务器:

```

mysql -u root

```

进入 MySQL 命令行后,使用以下命令重置密码:

```

FLUSH PRIVILEGES;

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

```

将 `new_password` 替换为你想设置的新密码。

重置密码后,退出 MySQL 命令行:

```

quit

```

最后,重新启动 MySQL 服务:

```

sudo service mysql start

```

2. 使用 mysqld 覆盖模式

这种方法适用于你对 MySQL 的安装位置有写入权限的情况。

首先,停止 MySQL 服务:

```

sudo service mysql stop

```

使用以下命令以覆盖模式启动 MySQL 服务:

```

sudo mysqld --skip-grant-tables --skip-networking &

```

然后,在终端输入以下命令连接到 MySQL 服务器:

```

mysql -u root

```

进入 MySQL 命令行后,使用以下命令重置密码:

```

FLUSH PRIVILEGES;

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

```

将 `new_password` 替换为你想设置的新密码。

重置密码后,退出 MySQL 命令行:

```

quit

```

最后,重新启动 MySQL 服务:

```

sudo service mysql start

```

3. 修改 MySQL 配置文件

如果你对 MySQL 的配置文件(通常是 `/etc/mysql/my.cnf` 或 `/etc/my.cnf`)有写权限,你可以使用以下方法重置密码。

首先,用文本编辑器打开 MySQL 配置文件:

```

sudo nano /etc/mysql/my.cnf

```

找到 `[mysqld]` 部分,在其下面添加一行:

```

skip-grant-tables

```

保存并关闭文件。

然后,重启 MySQL 服务:

```

sudo service mysql restart

```

之后,使用以下命令连接到 MySQL 服务器:

```

mysql -u root

```

进入 MySQL 命令行后,使用以下命令重置密码:

```

FLUSH PRIVILEGES;

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

```

将 `new_password` 替换为你想设置的新密码。

重置密码后,退出 MySQL 命令行:

```

quit

```

最后,编辑 MySQL 配置文件并删除添加的一行 `skip-grant-tables`,保存并关闭文件。

重新启动 MySQL 服务:

```

sudo service mysql restart

```

4. 重装 MySQL

如果你对 MySQL 的配置文件和数据备份有可用的副本,也可以考虑卸载并重新安装 MySQL。

首先,卸载 MySQL:

```

sudo apt-get remove mysql-server

```

然后,重新安装 MySQL:

```

sudo apt-get install mysql-server

```

在安装过程中,你将被要求设置新密码。

以上是几种在 Linux 上恢复或重置 MySQL 密码的方法。选择适合你情况的方法进行操作,你将能够重新获得访问 MySQL 数据库的权限。记得在完成操作后及时更改密码以确保安全性。

忘记MySQL的密码是一个常见的问题,但幸运的是,在Linux上,我们可以通过一些简单的步骤来重置MySQL的密码。

以下是在Linux系统上重置MySQL密码的步骤:

1. 停止MySQL服务:

在终端中输入以下命令,以停止正在运行的MySQL服务:

```

sudo systemctl stop mysql

```

2. 启动MySQL安全模式:

接下来,我们需要启动MySQL服务器以安全模式运行,这样我们就可以在没有密码的情况下访问它。在终端中输入以下命令:

```

sudo mysqld_safe --skip-grant-tables &

```

3. 使用root账户登录到MySQL:

打开一个新的终端窗口,输入以下命令以登录到MySQL服务器:

```

mysql -u root

```

4. 切换到mysql数据库:

登录后,切换到mysql数据库以访问用户和密码表:

```

use mysql;

```

5. 重置密码:

最后,利用以下命令来重置MySQL的root用户的密码:

```

UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';

```

注意:将 'new_password' 替换为你想要设置的新密码。

6. 刷新权限并退出MySQL:

最后,刷新权限并退出MySQL:

```

FLUSH PRIVILEGES;

quit

```

7. 重启MySQL服务:

在终端中输入以下命令,以重新启动MySQL服务:

```

sudo systemctl start mysql

```

恭喜!你已经成功重置了MySQL的密码。现在你可以使用新密码访问MySQL数据库了。

尽管这些步骤可以帮助你在Linux上重置MySQL密码,但请记住,为了确保安全性,请在完成上述步骤后,尽快为你的MySQL数据库设置一个强密码,并确保定期更改密码来加强安全性。