root ユーザーで mysql コマンドを実行するだけで、パスワードを要求されずにアクセスが許可されます。これは、[email protected] でソケット認証が有効になっているためです。
このガイドは誤解を招きます。
パスワードを設定する唯一の方法は、次のようなネイティブ認証に切り替えることです:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
解決策についての非常識な調査で、 /var/log/mysqld.log
を調べました そして、この行を見つけました:
[注意] [email protected]:abc123 に対して一時パスワードが生成されます
mysql 5.7+ は、インストール時にランダムなパスワードを生成し、そのファイルでプロンプトを表示するようです。
以下の手順でパスワードをリセットしてください:
$ sudo systemctl start mysqld
MySQL サーバーのルート パスワードをリセットします。
$sudo grep 'temporary password' /var/log/mysqld.log
次のような出力:
10.744785Z 1 [Note] A temporary password is generated for [email protected]: o!5y,oJGALQa
mysql_secure_installation のリセット中に上記のパスワードを使用します
$ sudo mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
MySQL サーバーのルート パスワードが正常にリセットされました。以下のコマンドを使用して、MySQL サーバーが接続しているかどうかを確認してください。
$ mysql -u root -p
私の記事を参照してください:RHEL/Centos 7 に最新の MySQL 5.7 をインストール
/var/run/postgresql/.s.PGSQL.5432 に関するエラーが発生した場合、Postgres にアクセスするにはどうすればよいですか?
正常なクラスターで seqno -1 を指定した grastate.dat。なんで?