如何使用 –skip-grant-tables 参数启动 MySQL?

如何使用 –skip-grant-tables 参数启动 MySQL?

当我们忘记 MySQL 的 root 密码或者需要重置密码时,可以通过使用 –skip-grant-tables 参数来启动 MySQL,然后更改 root 用户密码。本文就来讲解如何使用 –skip-grant-tables 参数启动 MySQL。

阅读更多:MySQL 教程

步骤

  1. 停止 MySQL 服务

在使用 –skip-grant-tables 参数启动 MySQL 前,需要先停止 MySQL 服务。在 Linux 系统中可以执行以下命令停止 MySQL 服务:

sudo systemctl stop mysql
Mysql

在 Windows 系统中可以使用服务管理器手动停止 MySQL 服务。

  1. 启动 MySQL 服务

在 Linux 系统中可以使用以下命令来启动 MySQL:

sudo mysqld_safe --skip-grant-tables &
Mysql

在执行这个命令时,需要注意以下几点:

  • 需要拥有 root 权限或者使用 sudo 命令;
  • –skip-grant-tables 参数需要在启动命令中添加;
  • & 符号用于在后台启动 MySQL。

在 Windows 系统下可以使用以下命令启动 MySQL:

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

需要注意以下几点:

  • 使用 mysqld 命令启动 MySQL;
  • --defaults-file 参数用于指定 my.ini 配置文件;
  • --console 参数用于在命令行中输出 MySQL 日志;
  • --skip-grant-tables 参数用于跳过权限检查。

启动 MySQL 后,将会看到一些输出日志,表示 MySQL 已经在运行。

  1. 重置密码

使用 –skip-grant-tables 参数启动 MySQL 后,root 用户将不需要密码就能登录 MySQL。这时我们可以执行以下命令来修改 root 用户密码:

mysql> use mysql;
mysql> update user set authentication_string=password('new_password') where user='root';
mysql> flush privileges;
mysql> quit;
Mysql

use mysql; 命令用于进入 mysql 数据库;
update 命令用于修改 root 用户的密码;
flush privileges; 命令用于刷新权限;
quit; 命令用于退出 MySQL。

修改密码后可以使用以下命令来测试是否修改成功:

mysql -u root -p
Mysql

输入刚才修改的密码进行登录即可。

总结

使用 –skip-grant-tables 参数启动 MySQL 后需要谨慎操作,因为除了 root 用户外,其他用户将不需要密码就能登录 MySQL。在重置密码后需要使用 flush privileges; 命令来刷新权限,否则修改后的密码可能不会立刻生效。通过本文的讲解,相信大家已经清楚了如何使用 –skip-grant-tables 参数启动 MySQL 并修改 root 用户密码。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册