通过更改主机将自己意外地锁定在MySQL之外


8

在尝试使远程MySQL工作时,我设法以root帐户锁定了自己。

通常,我会停止MySQL服务并使用来重新启动它/etc/init.d/mysql --init-file,但是当我尝试这样做时,它说脚本已转换为upstart作业,并使用“ service mysql”命令。不幸的是,据我所知,该service命令不支持该--init-file选项。

还有其他方法可以为root用户重置主机吗?


Answers:


9

停止MySQL:

service mysqld stop

然后像这样启动MySQL

mysqld_safe --skip-grant-tables --skip-networking

此时,您应该能够以root用户身份(从本地计算机)连接到mysql。


1
您也可以service mysqld restart --skip-grant-tables --skip-networking。然后,在固定根之后service mysql restart。但是,+ 1!
RolandoMySQLDBA 2011年

1

最终,该选项将传递给mysqld_safe;该文件详细阐述这一点。您也许能够发现新贵如何调用MySQL,然后使用添加的--init-file选项以类似的方式手动启动它。但是,请确保以正确的用户身份启动它!

如果您使用的是Debian或Ubuntu,则可能会发现有一个root debian-sys-maint用户等效的用户,您可以暂时使用该用户。您会在中找到自动生成的密码/etc/mysql/debian.cnf。其他系统上也可能有替代方案吗?这个选项可能会更容易,

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.