mysql忘密码怎么办
时间 : 2023-03-13 16:13:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

如果你忘记了MySQL数据库的密码,可以通过以下步骤来重置它:

1.停止MySQL服务

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

sudo service mysql stop

2.使用mysqld_safe启动MySQL

在命令行下输入以下命令来使用mysqld_safe启动MySQL,并在其它终端中保持MySQL运行:

sudo mysqld_safe --skip-grant-tables &

3.登录MySQL

在命令行下输入以下命令来登录MySQL:

mysql -u root

注意,这里不需要输入密码。如果出现“Access denied for user 'root'@'localhost' (using password: NO)”的错误,可以尝试使用以下命令登录:

mysql -u root -p

这时会要求输入密码,但由于我们已经跳过了密码验证,因此输入任何字符即可。

4.重置密码

在MySQL命令界面下,输入以下命令来重置密码:

use mysql;

update user set authentication_string=PASSWORD("new_password") where User='root';

flush privileges;

quit;

注意,将上面的“new_password”替换为你想要设置的密码。另外,如果你的MySQL版本较旧,以上命令中的“authentication_string”需要替换为“password”。

5.重新启动MySQL服务

在命令行下输入以下命令来重新启动MySQL服务:

sudo service mysql start

现在你可以使用新密码登录MySQL了。

如果你在使用 MySQL 数据库时忘记了密码,不要担心,下面会为你介绍几种解决方案。

1. 使用 root 用户登录并修改密码

如果你是 root 用户,可以直接使用该账户登录并使用以下命令更改密码:

```mysql

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

请确保将“新密码”替换为您想要使用的密码。如果您正在远程主机上连接到 MySQL,则可能需要使用远程地址而不是“localhost”。

2. 使用安全模式重置密码

如果你无法使用 root 用户登录到 MySQL,则可以尝试使用安全模式重置密码。

- 打开终端并以 root 身份登录到服务器。

- 停止 MySQL 服务器。

```bash

systemctl stop mysqld.service

- 启动 MySQL 服务器并使用 --skip-grant-tables 选项。

```bash

mysqld_safe --skip-grant-tables &

- 以 root 用户身份连接到 MySQL,并更改密码。

```mysql

mysql -u root

mysql> USE mysql;

mysql> UPDATE user SET authentication_string=PASSWORD("新密码") WHERE User='root';

mysql> FLUSH PRIVILEGES;

mysql> quit

- 重新启动 MySQL 服务器和相关服务。

```bash

systemctl stop mysqld.service

systemctl start mysqld.service

3. 重置密码文件

在某些情况下,可能需要从头开始重置密码。为此,请按以下步骤操作:

- 停止 MySQL 服务器。

```bash

systemctl stop mysqld.service

- 查找 MySQL 数据文件位置。

```bash

mysql_install_db --user=mysql --ldata=/var/lib/mysql/

- 创建新的密码文件。

```bash

mysqld --initialize-insecure --user=mysql --datadir=/var/lib/mysql/

- 启动 MySQL 服务器并使用新密码登录。

```bash

systemctl start mysqld.service

mysql -u root

- 更改 root 用户密码。

```mysql

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

请注意,重置密码时应格外小心。在进行此操作之前,请确保备份所有数据,并将所有更改记录在文本文件中。