web-dev-qa-db-ja.com

MySQLにログインできず、アクセスが拒否されました

クラッシュ後、以前のインストールよりも開発マシンにUbuntuを再インストールし、必要なすべてのパッケージ(mysql-serverとmysql-clientを含む)を再インストールした後、開発データベースの復元を続行しました。残念ながら接続できません。

これは機能します:

_$ Sudo su
# mysql -u root
_

これはしません

_$ mysql -u root -p
_
  • _mysql-*_を削除して、すべてを再インストールしてみました。
  • 再構成を試みました(つまり、_Sudo dpkg-reconfigure mysql-server-5.7_)
  • UPDATEクエリを使用してパスワードを手動でリセットしようとしました。
  • 私はすべてを試しました ここ (テーブルuserにはpassword列がなく、_authentication_string_列があることを除いて)

誰か、私がこのことを機能させるのを手伝ってくれる?


**編集**

_mysql> SELECT user, Host, authentication_string, password_expired, account_locked FROM user WHERE user = 'root';
+------------------+-----------+-------------------------------------------+------------------+----------------+
| user             | Host      | authentication_string | password_expired | account_locked |
+------------------+-----------+-----------------------+------------------+----------------+
| root             | localhost | *<password hash>      | N                | N              |
| root             | %         | *<password hash>      | N                | N              |
+------------------+-----------+-----------------------+------------------+----------------+
5 rows in set (0.00 sec)
_

両方のrootユーザーが同じパスワードを持ち、PASSWORD('password')を使用して設定され、すべての特権がフラッシュされた後、サービスが再起動されました。

ドキュメントに記載されている内容とは異なり、_Sudo dpkg-reconfigure mysql-server-5.7_を実行するとnotrootの新しいパスワードを指定するように求められます。コマンドは正常に終了しますが、パスワードを指定するように求められることはありません。

2
Yanick Rochon

私は私の答えを見つけました、 ここ

基本的に、ユーザーのpluginroot@'localhost' ではなかった mysql_native_password

UPDATE user SET plugin = 'mysql_native_password' WHERE user = 'root';
FLUSH PRIVILEGES;

機能し、スーパーユーザー権限なしでようやくログインできました。

2
Yanick Rochon

MySQLの権限はおそらく復元されませんでした。権限なしでサーバーにログインできるという事実は、rootパスワードを設定し、それぞれの権限で使用する必要がある他のユーザーを追加する必要があることを示唆しています。

1
TheCompWiz