通过更改主机,意外地将自己locking在MySQL之外

当试图获得远程MySQL工作时,我设法用root帐户locking自己。

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

有没有其他方式来重置用户的主机?

停止MySQL:

 service mysqld stop 

然后像这样启动MySQL

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

在这一点上,你应该能够以root身份连接到mysql(从本地机器)。

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

如果你使用的是Debian或Ubuntu,你可能会发现有一个等效的debian-sys-maint用户可以暂时使用; 你会在/etc/mysql/debian.cnffind自动生成的密码。 其他系统上也可能有其他select? 这个选项可能会更容易,