如何解决MySQL报错:MySQL服务器正在使用--skip-grant-tables选项运行

1225
2023/9/27 12:13:49
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在MySQL服务器运行时使用了–skip-grant-tables选项,意味着跳过了用户验证的步骤,任何人都可以访问数据库。这种情况下,可以按照以下步骤来解决问题:

  1. 停止MySQL服务器:使用适当的命令停止MySQL服务器,具体命令取决于你使用的操作系统和安装方式。例如,在Ubuntu上可以使用以下命令:
sudo service mysql stop
  1. 以安全模式启动MySQL服务器:启动MySQL服务器,并使用–skip-grant-tables选项,但是添加–skip-networking选项,以确保只有本地连接可以访问。例如,在Ubuntu上可以使用以下命令:
sudo mysqld_safe --skip-grant-tables --skip-networking &
  1. 连接到MySQL服务器:打开一个新的终端窗口,并使用以下命令连接到MySQL服务器:
mysql -u root
  1. 更新用户权限:连接到MySQL服务器后,执行以下命令来更新用户权限:
UPDATE mysql.user SET authentication_string=PASSWORD('your_password') WHERE User='root';

将’your_password’替换为你想要设置的新密码。

  1. 刷新用户权限:执行以下命令刷新用户权限:
FLUSH PRIVILEGES;
  1. 退出MySQL服务器:退出MySQL服务器会话,执行以下命令:
quit
  1. 重新启动MySQL服务器:使用适当的命令重新启动MySQL服务器,例如,在Ubuntu上可以使用以下命令:
sudo service mysql start

现在,MySQL服务器将以正常模式运行,并且新的密码将生效。请确保在解决问题后及时删除或禁用–skip-grant-tables选项,以保护你的数据的安全性。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: linux上怎么安装mysql数据库