解決策 1:
これを行う最も簡単な方法は、~/.my.cnf ファイルのクライアント セクションを使用し、そこに認証情報を追加することです。
[client]
user=root
password=somepassword
...
そのファイルを root のみが読み取れるようにすることもお勧めします。
解決策 2:
mysql 5.7 以降の場合、初期設定で空のパスワードを設定すると、mysql は自動的に auth_socket
を使用します。 戦略として。戦略を変更せずにパスワードを更新しようとしても、結果は得られません。ユーザーが root
の場合、パスワードを使用せずにいつでもログインできます .
解決策 次のコマンドを実行して、認証戦略を変更し、パスワードを設定します
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ''
参考:https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
解決策 3:
MySQL 5.6.6 以降、mysql_config_editor を使用して、自動的にログインする暗号化ファイルを作成できます:
mysql_config_editor set --login-path=client --host=localhost --user=root --password
次に、プロンプトが表示されたらパスワードを入力します。
注:パスワードに「#」やその他の文字が含まれている可能性がある場合は、パスワードを入力するときに一重引用符を使用してください。