Linux系统MySQL重置root密码


MySQL是一种开源的关系型数据库管理系统,广泛用于Web应用程序的后台数据存储。在MySQL中,root是默认的超级用户,具有最高权限。然而,有时候我们可能会遇到忘记root密码的情况,或者需要重置root密码以增加数据库的安全性。本文将介绍如何重置MySQL的root密码。
 

步骤1:停止MySQL服务

首先,我们需要停止正在运行的MySQL服务。在Linux系统中,可以使用以下命令:

 sudo service mysql stop


在Windows系统中,可以通过服务管理器或者命令行停止MySQL服务。
 

步骤2:以安全模式启动MySQL

接下来,我们需要以安全模式启动MySQL,这样我们就可以在没有密码的情况下访问到root用户。

在Linux系统中,打开终端并使用以下命令启动MySQL:

  sudo mysqld_safe --skip-grant-tables &

如遇到错误:mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

解决办法 
vim /etc/my.cnf 
把 
[mysqld_safe] 
err-log=/var/log/mysqld.log 
pid-file=/var/lib/run/mysql/mysqld.pid 
改成 
[mysqld_safe] 
err-log=/var/log/mysqld.log 

pid-file=/var/lib/mysql/mysqld.pid
 


删除一下文件:
/var/lib/mysql/ib_logfile0  
/var/lib/mysql/ib_logfile1  

如果 MySQL 正在运行,首先杀之: killall -TERM mysqld

safe_mysqld --skip-grant-tables &

  就可以不需要密码就进入 MySQL 了。

  然后就是

  >use mysql

  >update user set password=password("new_pass") where user="root";

  >flush privileges;

  重新杀 MySQL ,用正常方法启动 MySQL 。


在Windows系统中,打开命令提示符并导航到MySQL安装目录的bin文件夹,然后运行以下命令:

mysqld.exe --defaults-file="C:\Program Files\MySQL\MySQL Server X.X\my.ini" --console --skip-grant-tables


请注意,将X.X替换为您的MySQL版本号。
 

步骤3:登录MySQL并修改密码

现在,我们可以使用没有密码的root用户登录到MySQL。在Linux系统中,打开新的终端窗口,并输入以下命令:

  mysql -u root


在Windows系统中,打开新的命令提示符窗口,并输入以下命令:

mysql.exe -u root


一旦成功登录到MySQL控制台,您可以使用以下命令修改root用户的密码:

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


请将new_password替换为您想要设置的新密码。
 

步骤4:重新启动MySQL服务

完成密码修改后,我们需要停止安全模式下的MySQL,并重新启动MySQL服务。

在Linux系统中,打开终端并运行以下命令:

 sudo service mysql stop
 sudo service mysql start


在Windows系统中,关闭安全模式下的MySQL控制台窗口,并使用以下命令重新启动MySQL服务:

 net start mysql


步骤总结:

在MySQL中重置root用户密码的步骤如下:

  1. 停止MySQL服务。

  2. 启动MySQL服务,跳过权限表。

  3. 登录到MySQL服务器作为root用户。

  4. 更新root用户的密码。

  5. 刷新权限表,并重新启动MySQL服务。

以下是在Linux系统中使用命令行重置MySQL root密码的示例: 

# 停止MySQL服务

sudo systemctl stop mysql

# 启动MySQL服务,跳过权限表

sudo mysqld_safe --skip-grant-tables &

# 登录到MySQL服务器作为root用户

mysql -u root

# 更新root用户的密码

FLUSH PRIVILEGES;

SET PASSWORD FOR root@'localhost' = PASSWORD('new_password');

# 刷新权限表,并重新启动MySQL服务

FLUSH PRIVILEGES;

sudo systemctl start mysql

请将new_password替换为您想要设置的新密码。
 

注意:这些步骤会影响到MySQL服务的正常运行,请在有适当权限的情况下执行,并确保在操作过程中没有其他用户访问MySQL服务。
 

总结

在本文中,我们介绍了如何重置MySQL的root密码。首先,我们停止MySQL服务,然后以安全模式启动MySQL,并使用没有密码的root用户访问数据库。接着,我们修改root用户的密码,并重新启动MySQL服务。这些步骤将帮助您解决忘记MySQL root密码或者需要增加数据库安全性的情况。
 

你可能感兴趣的:(linux,mysql,mysql,数据库)