Debianでのmysqlサーバーのインストールで問題が発生しました。 (私のサーバーではないので、これを引き起こした原因がわかりません...)
データベースを追加する新しいアプリケーションのインストールは、次のエラーで失敗します。
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
ユーザーでログインできます。権限をフラッシュしました...
次に、この質問に答えることができます: https://stackoverflow.com/questions/1709078/how-can-i-restore-the-mysql-root-users-full-privileges
しかし、mysqlを停止しようとすると、次のように失敗します。
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'
Debianは管理(開始/停止など)にdebian-sys-maintアカウントを使用します。資格情報は/ etc/mysql/debian.cnfに保存されます-すべてが有効かどうかを確認します。
debian-sys-maint
ユーザーを復元する方法はたくさんあります。最も簡単な方法は、パッケージmysql-server-5.5
を再構成することです。 MySQLのroot
ユーザーのパスワードがわかっている場合は、/etc/mysql/debian.cnf
でユーザーとそのパスワードの復元を試みることができます。
Sudo dpkg-reconfigure mysql-server-5.5
MySQL:s root
パスワード(または任意のMySQLユーザーパスワード)を復元するには、debian-sys-maint
アカウントを使用できます。 debian-sys-maint
アカウントのパスワードを取得するには、mysql
を実行する必要があります。
Sudo mysql --defaults-file=/etc/mysql/debian.cnf
mysql> UPDATE mysql.user SET Password=PASSWORD('secret') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> QUIT;
したがって、決してユーザーdebian-sys-maint
を削除します。これは、DebianでMySQLを管理するために使用されます(シャットダウン、ログのロール、パッケージのアップグレード、root
ユーザーの存在の確認MySQL、新しいroot
ユーザーパスワードなどを設定します)。