MySQLが動作を停止しました


0

Mysqlは私のシステムで稼働していますが、どのユーザーでもログインできません。サーバーの起動/停止/ステータス設定もできません。私が手に入れたのは、

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

/usr/bin/mysqladmin: connect to server at 'localhost' failed

エラー: 'ユーザはアクセスを拒否されました' debian-sys-maint '@' localhost '(パスワードを使用:YES)

ログから:

Mar 24 08:30:13 debian /etc/mysql/debian-start[1074]: Upgrading MySQL tables if necessary.
Mar 24 08:30:13 debian /etc/mysql/debian-start[1078]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
Mar 24 08:30:13 debian /etc/mysql/debian-start[1078]: Looking for 'mysql' as: /usr/bin/mysql
Mar 24 08:30:13 debian /etc/mysql/debian-start[1078]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Mar 24 08:30:13 debian /etc/mysql/debian-start[1078]: Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/var/run/mysqld/mysqld.sock' '--host=localhost' '--socket=/var/run/mysqld/mysqld.sock' '--host=localhost' '--socket=/var/run/mysqld/mysqld.sock' 
Mar 24 08:30:13 debian /etc/mysql/debian-start[1078]: /usr/bin/mysqlcheck: Got error: 1045: Access denied for user 'debian-sys-maint'@'localhost' (using password: YES) when trying to connect
Mar 24 08:30:13 debian /etc/mysql/debian-start[1078]: FATAL ERROR: Upgrade failed
Mar 24 08:30:13 debian /etc/mysql/debian-start[1111]: Checking for insecure root accounts.

プロセスを終了してからログインし、mysqlを起動します。 mysqld --skip-grant-tables しかし、私はdebian-sys-maintのパスワードをリセットすることはできません。

mysql> GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'mypass';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

更新

あり UPDATE mysql.user set password=PASSWORD('secret') where user='debian-sys-maint'; 私は自分のパスワードをリセットすることができますが、再起動/再起動後に私は再びこのユーザー/ MySQLと同じ問題を抱えている。

どうすればこのパスワードをリセットできますか?また、mysqlが機能しなくなったのはなぜですか?

回答:


2

このように手動でmysqlサーバーを起動することができます。

$ sudo mysqld --skip-grant-tables

そうすれば、有効なパスワードなしでログインできるはずです。ユーザーを修正する debian-sys-maint 問題は、ファイルからパスワードを取得することができます /etc/mysql/debian.cnf。このユーザーの現在のパスワードを、このファイルで見つけたもので上書きします。また、忘れた場合はrootパスワードを上書きすることを忘れないでください。

完了したら、mysqldを通常どおりに再起動します。


MySQLは再び実行されていますが、パスワードをリセットできません。 MySQL>すべての特権を付与 'mypass'で識別される 'debian-sys-maint' @ 'localhost'へ。エラー1290(HY000):MySQLサーバは--skip-grant-tablesオプション付きで実行されているのでこのステートメントを実行できません
tonymarschall

1

スキップ許可を与えて実行しているときは、次のようにパスワードを再設定する必要があります。

UPDATE mysql.user set password=PASSWORD('secret') where user='debian-sys-maint';

GRANTとは違います。

(構文が正しいかどうかはテストしませんでしたが、mysql.userテーブルを更新するだけです。)

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