web-dev-qa-db-ja.com

mysqldumpエラー1045正しいパスワードなどにもかかわらずアクセスが拒否されました

これは扱いにくいもので、次の出力があります。

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にのみ影響しているようです。

47
DdlyHeadshot

これは私のために働いた

mysqldump -u root -p mydbscheme > mydbscheme_dump.sql

コマンドを発行した後、パスワードを要求します:

Enter password:

パスワードを入力すると、ダンプファイルが作成されます。

53
Boris Pavlović

Mysqlを使用してデータベースに接続できるが、mysqldumpでエラーが発生する場合、問題はテーブルをロックする権限がないことです。

その場合は--single-transactionオプションを試してください。

mysqldump -h database.example.com -u mydbuser -p mydatabase --single-transaction  > /home/mylinuxuser/mydatabase.sql
26

拒否されるアクセスは、おそらくMySQLデータベースではなくWindowsファイルシステムに対するものです。アカウントがファイルを作成できる場所に出力ファイルをリダイレクトしてみてください。

18
user3761176

-p-optionを使用するときは、スペースを削除してください。これは私のOSXとLinux mysqldumpで機能します:

mysqldump -u user -ppassword ...
12
Andree Wendel

!# '"`&;などのシェルメタ文字を含むバックスラッシュをパスワードに含める必要があります。

9
Someone

GRANT特権を設定します。

GRANT ALL PRIVILEGES ON mydb.* TO 'username'@'%' IDENTIFIED BY 'password';
7
Anand Mishra

コマンドでパスワードを入力しないでください。ただ入って、

mysqldump -u(ユーザー名)-p(db_name)>(backup_file).sql

次に、パスワードを入力するプロンプトが表示されます。

6
hariK

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フォルダーにインストールされます。

6
pudaykiran

-u-pなしでやることは私のために働きました(rootとしてログインしたとき):

mysqldump --opt mydbname > mydbname.sql
5
zylstra

mysqldump -hホスト名-uユーザー名-Pポート-Bデータベース--no-create-info -p> output.sql

引数を指定する必要があると思います

5
wcc526

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
McLinux

パスワードフラグの後にある1つのチェックマークを削除する必要がありました。

--password=mypassword

およびNOT

--password='mypassword'
0
Max

MAMP PROユーザー(またはmysqlが奇妙な場所にいる人)には、ブニーからmysqlのフルパスを指定し、ファイルをダンプするユーザーのローカルフォルダーへのフルパスを指定する準備ができます。そうしないと、許可拒否エラー」.

以下は、3時間の研究の後、私のために働いた:

/Applications/MAMP/Library/bin/mysqldump  -u root -proot YOUR_DB > /Users/YOUR_USER/yourdump2.sql
0
Robert Sinclair

MySQL 5.6.16を新規インストールした後、これに遭遇しました。

奇妙なことに、それは機能しますwithout指定またはフラグが設定されたパスワード:

mysqldump -u root myschema mytable > dump.sql

0
Hal50000

MS Wordファイルからmysqldumpステートメントをコピーした後、過去に同じ問題が発生しました。

しかし、ステートメントを直接入力するとき、すべてが正常に機能しました。

16進エディターでは、機能していないステートメントの「-」はunicode char e2 80 93( http://www.fileformat.info/info/unicode/char/2013/index.htm

並べ替えでは、パスワードを直接入力し、ユニコード(または他のエンコード)文字列が問題を引き起こす可能性があるため、コピーペーストコードを確認します。

0
Roland

過去2日間に同じエラーが発生しました。たくさんのことを試してみました。何も機能しませんでした。
しかし、これはうまくいきました:
別のユーザーを作成します。すべてを許可します。
mysqldump -u new_user db_name > db_name.sql //エラーなし

0
CoR

ビューを定義したユーザーである "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ステートメントを作成する必要があるため、これは注意が必要です。したがって、以下を確認してください。

0
David Tonhofer

MysqlアカウントにREQUIRE SSL onがある場合、Mysqlは正しい資格情報でアクセス拒否で応答します

ssl_caファイル(少なくとも)は、接続パラメーターで提供する必要がありました。

追加のsslパラメーターが必要になる場合があり、ここに記載されています: http://dev.mysql.com/doc/refman/5.7/en/secure-connection-options.html


こちらも掲載 https://stackoverflow.com/a/39626932/169568

0
ThorSummoner

このエラーの原因となっているMYSQLにアクセスする実行中のApacheプロセスを発見しました。そのため、DBと対話する可能性のあるすべてのプロセスを事前にシャットダウンすることをお勧めします。

0
Florian Storck