クラッシュ後、以前のインストールよりも開発マシンに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の新しいパスワードを指定するように求められます。コマンドは正常に終了しますが、パスワードを指定するように求められることはありません。
私は私の答えを見つけました、 ここ 。
基本的に、ユーザーのplugin
値root@'localhost'
ではなかった mysql_native_password
。
UPDATE user SET plugin = 'mysql_native_password' WHERE user = 'root';
FLUSH PRIVILEGES;
機能し、スーパーユーザー権限なしでようやくログインできました。
MySQLの権限はおそらく復元されませんでした。権限なしでサーバーにログインできるという事実は、rootパスワードを設定し、それぞれの権限で使用する必要がある他のユーザーを追加する必要があることを示唆しています。