これは扱いにくいもので、次の出力があります。
mysqldump:エラーが発生しました:1045:接続しようとすると、ユーザー 'root' @ 'localhost'のアクセスが拒否されました(パスワード:YESを使用)
Windows XPでmysqldump
を使用してデータベースをエクスポートしようとしたとき。ユーザー名はroot、パスワードは正しく、英数字のみが含まれます。 -u
と-p
を使用して指定、--user=
と--password=
を使用して指定、およびユーザー/パスワードなどを指定する他の方法を指定して、引用符の有無にかかわらず、さまざまなケースを試しました。ホスト(すべてローカル)で、空の代わりに--databases
を使用してデータベースを指定します。パスワードを使用する場合、エラーは常に同じであり、パスワードがない場合は「NO」メッセージを除いて常に同じです。検索で見つかった多くの修正を試みましたが、成功しませんでした。 1つの修正でmysql.confを検査することが提案されましたが、Windowsビルドにはmysql.confがないようです。資格情報(および実際にコマンドラインパラメーター)はmysql.exeで完全に機能します-この問題はmysqldump.exeにのみ影響しているようです。
これは私のために働いた
mysqldump -u root -p mydbscheme > mydbscheme_dump.sql
コマンドを発行した後、パスワードを要求します:
Enter password:
パスワードを入力すると、ダンプファイルが作成されます。
Mysqlを使用してデータベースに接続できるが、mysqldumpでエラーが発生する場合、問題はテーブルをロックする権限がないことです。
その場合は--single-transactionオプションを試してください。
mysqldump -h database.example.com -u mydbuser -p mydatabase --single-transaction > /home/mylinuxuser/mydatabase.sql
拒否されるアクセスは、おそらくMySQLデータベースではなくWindowsファイルシステムに対するものです。アカウントがファイルを作成できる場所に出力ファイルをリダイレクトしてみてください。
-p-optionを使用するときは、スペースを削除してください。これは私のOSXとLinux mysqldumpで機能します:
mysqldump -u user -ppassword ...
!# '"`&;などのシェルメタ文字を含むバックスラッシュをパスワードに含める必要があります。
GRANT
特権を設定します。
GRANT ALL PRIVILEGES ON mydb.* TO 'username'@'%' IDENTIFIED BY 'password';
コマンドでパスワードを入力しないでください。ただ入って、
mysqldump -u(ユーザー名)-p(db_name)>(backup_file).sql
次に、パスワードを入力するプロンプトが表示されます。
Administrator
モードでコマンドプロンプトを実行すると、アクセスの問題が解決しました。
Start-> All Programs -> Accessories
に移動Command Prompt
を右クリックRun as..
をクリックclickThe Following User
を選択選択オプションからadministrator username
を選択OK
ボタンをクリックするとパスワードが入力されます.
例1:コマンドプロンプトを使用したmysqlのデータベース全体のバックアップ用。
Windows 7および8の場合
C:\Program Files <x86>>\MySQL\MySQL Server 5.5\bin>mysqldump test -u root -p >testDB.sql
Enter Password: *********
Windows XPの場合
C:\Program Files\MySQL\MySQL Server 5.5\bin>mysqldump test -u root -p >testDB.sql
Enter Password: *********
資格情報のパスワードを要求し、パスワードを入力し、Enterボタンをクリックします。
例2:コマンドプロンプトを使用したmysqlの特定のテーブルバックアップ/ダンプ用。
Windows 7および8の場合
C:\Program Files <x86>>\MySQL\MySQL Server 5.5\bin>mysqldump test -u root -p images>testDB_Images.sql
Enter Password: *********
Windows XPの場合
C:\Program Files\MySQL\MySQL Server 5.5\bin>mysqldump test -u root -p images>testDB_Images.sql
Enter Password: *********
ダンプファイルはフォルダーの下に作成されます
Windows XPの場合
C:\Program Files\MySQL\MySQL Server 5.5\bin
Windows 7および8の場合
C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin
注:コマンドプロンプトで実行中にWindows 7、8のMySQLインストールフォルダーを確認します。 MySQLWorkbench
が32ビットバージョンの場合、それはProgram Files (x86)
フォルダーにインストールされ、そうでない場合はProgram Files
フォルダーにインストールされます。
-u
と-p
なしでやることは私のために働きました(rootとしてログインしたとき):
mysqldump --opt mydbname > mydbname.sql
mysqldump -hホスト名-uユーザー名-Pポート-Bデータベース--no-create-info -p> output.sql
引数を指定する必要があると思います
mysqldump -u(ユーザー)-p(passwd)-h(Host_or_IP)database_to_backup> backup_file.sql
例:
mysqldump -u god -pheaven -h 10.0.10.10アカウンティング> accounting_20141209.sql
これにより、サーバー10.0.10.10のアカウンティングデータベースのSQLバックアップファイルが作成されます。 localhostが設定にない場合にエラーが表示されることがあります。サーバーのIPを指定すると役立つ場合があります。
パスワードフラグの後にある1つのチェックマークを削除する必要がありました。
--password=mypassword
およびNOT
--password='mypassword'
MAMP PROユーザー(またはmysqlが奇妙な場所にいる人)には、ブニーからmysqlのフルパスを指定し、ファイルをダンプするユーザーのローカルフォルダーへのフルパスを指定する準備ができます。そうしないと、許可拒否エラー」.
以下は、3時間の研究の後、私のために働いた:
/Applications/MAMP/Library/bin/mysqldump -u root -proot YOUR_DB > /Users/YOUR_USER/yourdump2.sql
MySQL 5.6.16を新規インストールした後、これに遭遇しました。
奇妙なことに、それは機能しますwithout指定またはフラグが設定されたパスワード:
mysqldump -u root myschema mytable > dump.sql
MS Wordファイルからmysqldumpステートメントをコピーした後、過去に同じ問題が発生しました。
しかし、ステートメントを直接入力するとき、すべてが正常に機能しました。
16進エディターでは、機能していないステートメントの「-」はunicode char e2 80 93( http://www.fileformat.info/info/unicode/char/2013/index.htm )
並べ替えでは、パスワードを直接入力し、ユニコード(または他のエンコード)文字列が問題を引き起こす可能性があるため、コピーペーストコードを確認します。
過去2日間に同じエラーが発生しました。たくさんのことを試してみました。何も機能しませんでした。
しかし、これはうまくいきました:
別のユーザーを作成します。すべてを許可します。mysqldump -u new_user db_name > db_name.sql
//エラーなし
ビューを定義したユーザーである "DEFINER"が正しくないビューがあるという問題がありました。ビューで使用されるDEFINERは、「ランダムなワークステーションからのルート」であるため、しばらく前に削除されていました。
次を実行して、問題があるかどうかを確認します。
USE information_schema;
SELECT DEFINER, SECURITY_TYPE FROM views;
DEFINERを変更しました(実際には、DEFINERをroot@localhost
に設定し、SQL SECURITY値をINVOKER
に設定して、定義ユーザーではなく呼び出しユーザーの許可でビューが実行されるようにします。 ) ALTER VIEW を使用します。
ALTER VIEW
から適切なinformation_schema.views
ステートメントを作成する必要があるため、これは注意が必要です。したがって、以下を確認してください。
MysqlアカウントにREQUIRE SSL
onがある場合、Mysqlは正しい資格情報でアクセス拒否で応答します
ssl_ca
ファイル(少なくとも)は、接続パラメーターで提供する必要がありました。
追加のsslパラメーターが必要になる場合があり、ここに記載されています: http://dev.mysql.com/doc/refman/5.7/en/secure-connection-options.html
このエラーの原因となっているMYSQLにアクセスする実行中のApacheプロセスを発見しました。そのため、DBと対話する可能性のあるすべてのプロセスを事前にシャットダウンすることをお勧めします。