前回の記事では、[MySQL](https://cloud.tencent.com/product/cdb?from=10680)のインストールを終了しました。この記事の次の記事では、パスワードをリセットする方法について説明します。
インストールが完了すると、MySQLは自動的にランダムなパスワードを生成します
viewコマンドは次のとおりです。
grep 'temporary password'/var/log/mysqld.log
自動生成されたパスワードは直接使用できず、覚えにくいため、パスワードを変更する必要があります。
MySQL構成ファイルを編集する
vim /etc/my.cnf
pidの先頭の次の行に次の文を追加します
skip-grant-tables
保存して終了。
service mysqld restart
mysql -u root -p
パスワードの入力を求められたら、Enterキーを直接押します。
use mysql;
MySQLユーザーのユーザーテーブルがmysqlデータベースに保存されているため
select host, user, authentication_string, plugin from user;
上記のコマンドを実行すると、テーブルが表示されます
次の情報は次の形式です。
ホスト:ユーザーが%ログインできるようにするip'location 'は、リモートにできることを意味します。
user:現在のデータベースのユーザー名。
authentication_string:ユーザーパスワード(パスワードフィールドとpassword()関数はmysql 5.7.9の後で破棄されます);
プラグイン:パスワード暗号化方式。
use mysql;
update user set authentication_string='' where user='root';
quit
vim /etc/my.cnf
skip-grant-tablesを削除し、保存して終了します。
service mysqld restart
mysql -u root -p
パスワードの入力を求められたら、Enterキーを押します。これは、パスワードを空白に設定したためです。
ALTER user 'root'@'localhost' IDENTIFIED BY 'Xpf123@';
Xpf123 @は、設定する新しいパスワードです。このパスワードを123456などの比較的単純に設定すると、失敗することに注意してください。パスワードが単純すぎるというプロンプトが表示されます。大文字、数字、記号に設定することをお勧めします。組み合わせ。
実行後にOKのプロンプトが表示された場合は、変更が成功したことを意味します。これまでのところ、パスワードのリセットは完了しています。新しく設定したパスワードでログインしてみてください。
多くの学生がパスワードの変更で多くの問題に遭遇した可能性があります。たとえば、MySQL 8.0をインストールしてからパスワードをリセットした場合、または古いコマンドを使用してパスワードを変更した場合、MySQL 5.7.6の後にユーザーテーブルが破棄されたため、エラーが報告されました。パスワードフィールドとpassword()メソッド。したがって、古いメソッドを使用してパスワードをリセットしても、mysql8.0では機能しません。
さて、今日の説明は以上です。
ご不明な点がございましたら、以下にメッセージを残してください!
より技術的な記事については、私の公式アカウントに注意を払ってください:
Recommended Posts