私のMySQLデータベースに対して「backup」というユーザーを作成し、特定のパスワードを提供しました。
それでは、次のコマンドを実行しようとしています。
sudo mysqldump --user=backup -password=SuperS3f@kePass --all-databases > all_databases.sql
その結果、次のエラーが発生します。
mysqldump: Got error: 1045: Access denied for user 'backup'@'localhost' (using password: YES) when trying to connect
root mysqlユーザーを使用してsudoを使用せずに試しましたが、同じエラーが発生します。
MySQLのバージョン:mysql Ver 14.14 Ubuntu 17.10のDistrib 5.7.22
答え1
おそらく次のように説明されます。
ホストワイルドカードが 'localhost'と一致しません。
localhost
これはmysqlの場合、接続は実際にUNIXソケット(おそらく/var/run/mysqld/mysqld.sock
)に接続することを意味し、接続は127.0.0.1
IPv4を使用して接続することを意味するという事実に関連していますlocalhost
。だから彼らはアプローチを差別化することにしました。
このような場合であることを確認するには、もう一度お試しください。
sudo mysqldump -h 127.0.0.1 --user=backup -password=SuperS3f@kePass --all-databases > all_databases.sql
次に、アクセス権を変更します(例'backup'@'localhost'
:)。