ホストを変更して、MySQLから誤って自分をロックした


8

リモートMySQLを動作させようとしているときに、どういうわけかrootアカウントで自分をロックアウトできました。

通常、MySQLサービスを停止してを使用して再起動します/etc/init.d/mysql --init-fileが、そうしようとすると、スクリプトがupstartジョブに変換され、「service mysql」コマンドを使用するようになっています。残念ながら、私の知る限りでは、このserviceコマンドは--init-fileオプションをサポートしていません。

rootユーザーのホストをリセットする他の方法はありますか?


回答:


9

MySQLを停止します。

service mysqld stop

次に、このようにMySQLを起動します

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

この時点で、mysqlに(ローカルマシンから)rootとして接続できるはずです。


1
あなたもできますservice mysqld restart --skip-grant-tables --skip-networking。その後、根を固定した後、service mysql restart。それにもかかわらず、+ 1 !!!
RolandoMySQLDBA 2011

1

最終的に、そのオプションはに渡されmysqld_safeます。ドキュメントには、これを詳細に説明します。upstartがMySQLを呼び出す方法を発見し、追加した--init-fileオプションを使用して同様の方法で手動でMySQLを開始できる場合があります。ただし、適切なユーザーとして起動してください。

DebianまたはUbuntuを使用している場合は、rootと同等のdebian-sys-maintユーザーが一時的に使用できる可能性があります。そのために自動生成されたパスワードはにあり/etc/mysql/debian.cnfます。他のシステムにも代替手段があるかもしれませんか?このオプションはおそらく簡単でしょう

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.