Sshからmysqldumpを使用してバックアップしようとすると、マシン10.64.1.1で次のコマンドを実行します。次のエラーが発生します。
_mysqldump --user=test -p=password --Host=10.64.1.2 --tab=. databasename tablename
_
mysqldump: Got error: 1045: Access denied for user 'test'@'10.64.1.1' (using password: YES)
接続しようとするとき
ただし、同じユーザーとパスワードを使用してmysqlにアクセスできます。
_mysql --user=test -p[password]
_
現在のユーザー:_[email protected]
_
SSL:_Not in use
_
現在のページャー:stdout
Outfileの使用:_''
_
区切り文字の使用:_;
_
サーバーのバージョン:5.0.91-50-log Percona SQL Server, Revision 73 (GPL)
プロトコルバージョン:_10
_
接続:_10.64.1.2 via TCP/IP
_
更新:
次のmysqlドキュメントを実行する場合:_--password[=password]
_または_-p[password]
_。
パスワードには特別なシンボル_@
_が含まれているため、Mysqlはユーザーを正しく検出できません。文句を言う:
_mysqldump: Got error: 1044: Access denied for user 'test'@'%' to database
_
-pを使用するときに=を失うか、または--passwordを指定して実行する必要があると思います。
--password [=パスワード]、-p [パスワード]
サーバーに接続するときに使用するパスワード。短いオプション形式(-p)を使用する場合、オプションとパスワードの間にスペースを入れることはできません。コマンドラインで--passwordまたは-pオプションの後にパスワードの値を省略すると、入力を求められます。コマンドラインでパスワードを指定することは安全ではないと考えるべきです。 6.6項「パスワードの保護」を参照してください。
管理者としてCMD.EXEを実行する必要があります。
Cmd.exeを右クリック->管理者として実行し、コマンドを入力します。
mysqldump -u [ユーザー名] -p [パスワード] -h [IPまたは名前] yourdatabasename> c:\ sqlfile.sql
正常に動作するはずです。
私はこのトピックが非常に古いことを知っていますが、偶然同じ問題を抱えていました。問題はパスワードに使用されている特殊文字だけであることがわかりました。実際、アンチスラッシュでエスケープする必要があります:--password=123\@456
または単一引用符を使用--password='123@456'
Pleskで作成したDBユーザーでも同じ問題が発生しました。ユーザーには、単一のデータベースに対する権限があります。データベース名を指定すると、上記のエラーが発生します。すべてのデータベースに-A
を指定すると、ダンプは機能します。
Windowsでは、ディレクトリを作成し、バックアップディレクトリに* .sqlファイルをダンプすることで解決しました。
C:\backup
コマンドに問題はありません:
[]角括弧を削除します
mysqldump -u[username] -p[password] -h[ip] yourdb > C:\backup\sqlfile.sql
それは私のために働いた:)
考えられるもう1つの原因は、ダンプを作成しようとしている場所です。 mysqldump -u[username] -p yourdb > D:\backup\sqlfile.sql
の代わりに mysqldump -u[username] -p yourdb > sqlfile.sql
は私の問題を解決しました。
接続オプションに=
(等号)はありません。次のものが必要です。
mysqldump -u test -ppassword -h 10.64.1.2 ...
他のオプションの詳細については、 ドキュメント をご覧ください。
このコマンドで試してみる
mysqldump --user=root -p --Host=127.0.0.1 --databases database_name [database_name_2,...] > dump.sql
ここでうまくいったのは、管理者としてcmd行を実行することです。 -pの後にパスワードを入力しないでください。パスワードを入力するように自動的に求められ、機能します。