当尝试让远程 MySQL 运行时,我不知何故设法用 root 帐户将自己锁定了。
通常情况下,我会停止 MySQL 服务并使用 重新启动它/etc/init.d/mysql --init-file
,但当我尝试这样做时,它说脚本已转换为 upstart 作业并使用“service mysql”命令。不幸的是,据我所知,该service
命令不支持该--init-file
选项。
还有其他方法可以为 root 用户重置主机吗?
答案1
停止 MySQL:
service mysqld stop
然后像这样启动 MySQL
mysqld_safe --skip-grant-tables --skip-networking
此时您应该能够以 root 身份连接到 mysql(从本地机器)。
答案2
最终,该选项将被传递给mysqld_safe
;文档详细描述了这一点。您可能能够发现 upstart 如何调用 MySQL,然后使用您添加的--init-file
选项以类似的方式手动启动它。但是,请确保您以正确的用户身份启动它!
如果你使用的是 Debian 或 Ubuntu,你可能会发现有一个相当于 root 的debian-sys-maint
用户,你可以暂时使用它;你可以在 中找到该用户的自动生成的密码/etc/mysql/debian.cnf
。其他系统上可能也有其他选择?这个选项可能更容易,