さて、少し問題があります。mysqlパスワードが期限切れになり、mysql.userテーブルが壊れています
パスワードの有効期限が切れて、ユーザーテーブルが破損しています。私は
mysql -u root -p
経由でログインすることができますが、私は、私はfolowingエラーを取得する実行するすべてのアクションに:
Column count of mysql.user is wrong. Expected 45, found 46. The table is probably corrupted.
私はあなたがfolowingコマンドでmysql.userテーブルを修正することができますことを読んだことがある:
mysql_upgrade -u root -p
しかし、私はfolowingエラーが出ることを実行します。
0をmysql_upgrade: Got error: 1862: Your password has expired. To log in you must change it using a client that supports expired passwords. while connecting to the MySQL server Upgrade process encountered error and will not continue. So, How do I fix this?
すべてのテーブルのバックアップがあるので、すべてのデータベースをリセットする必要はありません。
(なぜ奇妙な形式のStackOverflowが、それはすべてのコードだと思って、私は、コードブロックに入れたい、そう私はそれを保存することはできません?)
EDIT:
私は自分のパスワードを知っています。それはまったく問題ではありません。
私の問題は、パスワードが期限切れで、私のmysql.userが壊れているので何もできないということです! my.cnfを編集し、
[mysqld]
default_password_lifetime=0
を入れて、MySQLサーバを再起動し、再度ログインもう一度試してしよう:
これは実際には機能しません。 'mysqlcheck --repair --all-databases'を実行するときにパスワードを入力する必要があります。パスワードを入力すると、期限切れと表示されます。私はまた、パスワードの有効期限を無効にしようとしたが、運がない。 –
さて、mysqlサービスを再起動しましたか?この文をファイルに保存するMySQL 5.7.6以降: 'ALTER USER 'root' @ 'localhost' IDENTIFIED BY 'MyNewPass';または' SET PASSWORD FOR 'root' @ 'localhost' = mysqld --init-file =/path/to/file& 'ソース:https://dev.mysql.com/doc/refman/5.7を実行してください。 /en/resetting-permissions.html –
さて、はい、私はそれを試みました。私はこのエラーが続くだけです: 'mysql.userの列数が間違っています。期待された45、見つかった46.テーブルがおそらく破損している '私が試したすべてで –