データベースサーバー(mysqlワークベンチ)に接続できません


89

この問題を解決するのを手伝ってくれませんか。

Mysqlワークベンチのデータベースメニューの下にある[データベースのクエリ]をクリックしようとすると。それは私にエラーを与えます:

Cannot Connect to Database Server

Your connection attempt failed for user 'root' from your host to server at 
127.0.0.1:3306:Can't connect to mysql server on '127.0.0.1'(10061)

Please:

 1. Check that mysql is running on server 127.0.0.1
 2. Check that mysql is running on port 3306 (note: 3306 is the default, but this can 
    be changed)
 3. Check the root has rights to connect to 127.0.0.1 from your address (mysql rights 
    define what clients can connect to the server and from which machines) 
 4. Make sure you are both providing a password if needed and using the correct 
    password for 127.0.0.1 connecting from the host address you're connecting from


3
この答えは私のために働いた。 stackoverflow.com/questions/16129399/...
mcaleaa

私の場合には、単純な再起動のヘルプ-しかし、私は、まず@sergio提案チェック- stackoverflow.com/a/7875732/6705161を
dannydedog

回答:


105

この問題は、ubuntu 16.04へのアップグレード中に、パスワードが設定されていない場合にrootユーザーに対してデフォルトでソケット認証が有効になっていることが原因である可能性があります。

解決策は、ネイティブパスワード認証に戻すことです。これを行うには、ソケット認証を使用してMySQLにログインし、次のようにします。

sudo mysql -u root

ログイン後:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

これにより、ネイティブ(古いデフォルト)のパスワード認証に戻ります。

MySQLで必要な場合は常にパスワードをパスワードとして使用するようになりました。


3
それは私のために働きました、私は驚いています、私はmysqlをインストールする間にすでに厳密なパスワードと与えられた変更クエリで使用されるのと同じ厳密なパスワードを設定しました。私はそれが最初の試み自体でうまくいかなかった理由を知りたいと思っています
VipulPatil19年

どうもありがとう!この動作は、unix rootユーザーがパスワードを入力せずにmysqlにログインするためにのみ作成されていますか?
Igor deLorenzi20年

1
素晴らしいソリューション。ありがとう兄貴!
ValneyFaria20年

57

services.mscスタートメニューの検索ボックスから開いて、MySQLサービスを手動で開始するかservices.mscRunボックスに直接書き込んでみてください


1
私のために働いていませんでした。コマンドライン「C:\ ProgramFiles \ MySQL \ MySQL Server 5.6 \ bin \ mysqld.exe --console」から直接実行します(ただし、「mysql」と「.exe」の間の「d」は機能しました(コマンドライン「管理者として」)。したがって、「管理者として」サービスを開始する方法を見つけることでこれを解決できると思います。–
Adrien Be

5
スタートメニューの検索ボックスはどこにありますか?
Everyone_Else

私のソリューションは、Mysql-Workbenchをsudo:で実行しましたsudo mysql-workbench 。services.mscの場所がわからなかった
Luigi Lopez

33

このエラーの原因はたくさんあるようです。

私の原因/解決策

私の場合、原因は、サーバーがローカルホストからの接続のみを受け入れるように構成されていたためです。この記事に従って修正しました:MySQLデータベースサーバーへのリモートアクセスを有効にするにはどうすればよいですか?。私のmy.cnfファイルにはなかったskip-networking、私はちょうどラインを変更して、ラインを

bind-address = 127.0.0.1

bind-address = 0.0.0.0

これにより、127.0.0.1だけでなく、任意のIPからの接続が可能になります。

次に、次のターミナルコマンドを実行して、クライアントマシンから接続できるMySqlユーザーを作成しました。

# mysql -u root -p
mysql> CREATE USER 'username'@'1.2.3.4' IDENTIFIED BY 'password';
    -> GRANT ALL PRIVILEGES ON *.* TO 'username'@'1.2.3.4' WITH GRANT OPTION;
    -> \q

1.2.3.4接続しようとしているクライアントのIPはどこにありますか。本当に問題が発生した場合は、'%'代わりに'1.2.3.4'を使用して、ユーザーが任意のIPから接続できるようにすることができます。

その他の原因

かなり広範なリストについては、アクセス拒否エラーの原因を参照してください。


AFAIK、ユーザーの作成が必要なのは、ユーザーrootは管理作業にのみ使用する必要があり、賢明なことにローカルホストに限定する必要があるためです。それを超えてどのユーザーを作成するかはあなた次第です!
user3791372 2017

アクセス拒否エラーの原因へのリンクが壊れています。
Matt Coubrough 2018年

21

これがWorkbenchの問題なのか、一般的な接続の問題なのかを判断しようとしましたか?これを試して:

  1. ターミナルを開く
  2. タイプ mysql -u root -p -h 127.0.0.1 -P 3306
  3. 正常に接続できる場合は、パスワードを入力した後、mysqlプロンプトが表示されます(quit入力してEnterキーを押して終了します)。

これがどのように機能したかを報告してください。


こんにちは、「mysqlは内部または外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されません」と書かれています。どうもありがとうございます。
user948950 2011年

1
mysql binディレクトリbinメインのMySQLディレクトリ内のディレクトリ)をシステムパスに追加することをお勧めします。そうすれば、mysqlクライアントプログラムはどこからでも利用できるようになります。または、MySQLbinディレクトリにcdした後にそのコマンドを実行することもできます。両方とも機能するはずです。
セルジオ

2
このコマンドでmysqlに接続する場合$> mysql -u root -p -h 127.0.0.1 -P 3306パスワードの入力:エラー1045(28000):ユーザー 'root' @ 'localhost'のアクセスが拒否されました(パスワードを使用:NO) [root @ localhost〜] #mysql -u root -p -h 127.0.0.1 -P 3306パスワードの入力:エラー1045(28000):ユーザー 'root' @ 'localhost'のアクセスが拒否されました(パスワードを使用:YES)[root @ localhost〜] #mysql -u admin -p -h 127.0.0.1 -P 3306パスワードの入力:エラー1045(28000):ユーザー 'admin' @ 'localhost'のアクセスが拒否されました(パスワードを使用:YES)[root @ localhost〜] #
Sumit Munot 2013年

私のために働いた!ありがとう!
イゴール

15

Mac OSでも同様の問題が発生し、次の方法で修正できました。

ターミナルから、次のコマンドを実行します。

mysql -u root -p -h 127.0.0.1 -P 3306

次に、パスワードの入力を求められました。パスワードが設定されいないので、Enterキーを押しました。

次のようなメッセージが表示されました。

MySQLモニターへようこそ。コマンドは;で終わります または\ g。MySQL接続IDは181です。サーバーバージョン:8.0.11Homebrew。

mysql>へのログインに成功した場合は、次のコマンドを実行します。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

次のようなメッセージが表示されます。

クエリOK、影響を受ける行は0(0.19秒)

これで、パスワードは「password」、ユーザー名は「root」になります。

ハッピーコーディング:)


匿名ログインが無効になっているため、これは新しいインストールではおそらく機能しなくなります。
en_lorithai

9

ALTERUSERコマンドを実行します。必ずパスワードを選択した強力なパスワードに変更してください。

  1. sudo mysql #mysql`にログインします

  2. 以下のコマンドを実行します

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
    

これで、新しいパスワードを使用してアクセスできます。

参照:https//www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04


7

管理者としてWorkbenchを起動する必要がありました。どうやらそれは私のローカルホストデータベースサーバープロセスに接続するために必要な権限を持っていませんでした。

ワークベンチのショートカットを右クリックして、を選択しますRun as Administrator。ショートカットの[プロパティ]ウィンドウで、[詳細設定]をクリックし、[管理者として実行]の横のボックスにチェックマークを付けて、常に管理者権限でワークベンチを実行できます。


5

このエラーは、mysqlサーバーがコンピューターで起動していないために発生します。手動で開始する必要があります。次の手順を実行します。

  1. コンピュータ(http://wampserver-64bit.en.softonic.com/)のビットバージョン(32ビットまたは64ビット)に応じてWampサーバーをダウンロードしてインストールしますこのリンクを使用すると、64ビットのWampサーバーをダウンロードできます。

  2. インストールするとすぐに、ダブルクリックして実行できます(タスクバーの右側にアイコンが表示されます。非表示になっている可能性があるため、実行中の非表示アプリを示す矢印をクリックできます)。アイコンをクリックしてMysqlに移動します

  3. その後に行くサービス、あなたがそこに見つけることができますスタート/再開サービスは、それをクリックし...

  4. そして今、それは完了です。mysqlワークベンチを開いて見てください。それは動作します。


4

私はしばらくの間この問題に苦労し、これを発見する前にMySQLを何度か再インストールしました。

コマンドラインを使用してすべてのDBにアクセスできたので、MySQLサーバーは正常に実行されていました。

これがあなたのために働くことを願っています。

MySQLのワークベンチ(5.2.47 CE)

[サーバーインスタンスの管理] (右下隅)をクリックします

クリック 接続ます

の中に 接続ボックスを選択:

ローカルインスタンス($ ServerName)-root@127.0.0.1:3306 '<'標準(TCP / IP)>

クリック 選択を編集...。

[パラメータ]で、ホスト名を変更します名]でlocalhostまたは127.0.0.1をNetBIOS名にします

クリック 接続のテスト

これがあなたのために働くなら、素晴らしい。そうでない場合は、ホスト名を元の状態に戻します。


2
これは私のために働いた。NetBIOS名はコンピュータの名前であり、システムプロパティ、[コンピュータ名]タブ、[完全なコンピュータ名]から読み取ることができます。
NeonMan 2013年

3

表示される最初のエラーメッセージが次のとおりであることを無視した人のために:

org.freedesktop.secretsという名前は、どの.serviceファイルからも提供されていません。

以下を使用してgnome-keyringをインストールしてください

sudo apt install gnome-keyring

2

私の理由は、最新のMySQL Workbench8.xを使用してMySQLServer 5.1(両方ともWindows Server 2012で実行されている)に接続しようとしたためです。

MySQL Workbench8.xをアンインストールしてMySQLWorkbench 6.3.10をインストールすると、localhostデータベースに正常に接続されました


1

上位バージョン以降の訪問者向けに最新の状態にする:

現在、私はグーグルアンドロイドの前提条件としてPython2.7.4を含むさまざまなツールを備えたwin764ビットに取り組んでいます...

WB 6.0.8-win32から上位バージョンにアップグレードして64ビットのパフォーマンスを実現したとき、たとえば6.3.5-winx64でいくつかの問題が発生しました。テーブルの詳細ビュー(無秩序なビュー)にバグがあり、6.2にダウングレードしました。 5-winx64。

GUIユーザーとして、簡単な前方/後方のエンジニアリングとDBサーバの相対的な項目がうまく働いていたが、我々がしようとしたときDatabase>Connect to Database、私たちは持っていますNot connected私たちはクエリを実行しようとした場合しかし、DBサーバサービスは絶対に走っていると、うまく機能しているとのpythonのエラーを持っていますこの問題はサーバーからではなく、ワークベンチから発生します。これを解決するにはQuery>Reconnect to Server、DB接続を明示的に選択する必要があります。そうすると、ほとんどすべてが正常に見えます(これは、複数のdb接続が原因である可能性があり、ワークベンチでデフォルトのdb接続を定義するソリューションが見つかりませんでした)。

注:最新のXamppバージョンを使用しているため(Linuxでも中毒性があります:))、最近Xamppはmysql5.xの代わりにmariadb10を使用しているため、mysqlファイルのバージョンが10になると、プロシージャのフォワードエンジニアリングなどの問題が発生する可能性がありますこれは、 mysql_upgrade.exeが、db接続をチェックしようとすると、wbは間違ったバージョンについて通知しますが、重要ではなく、正常に機能します。

結論:したがって、ワークベンチでのデータベース接続の問題は、サーバーではなくそれ自体が原因である場合があります(他のデータベース接続に関連する問題がない場合)。


1

私の場合、MySQL Workbenchをインストールしたばかりですが、MySQL WorkbenchをアンインストールしてMySQLインストーラーをインストールした後、32ビットと64ビットの両方で同じで、チャームのように機能しました。それがお役に立てば幸いです。


0

私もかなり長い間この問題に苦しんでいました。

MySQLフォーラムからこの興味深いスレッドに出くわしました:http: //forums.mysql.com/read.php?11,11388,11388#msg-11388

私はまた(明らかに)いくつかの良いSO Q / Aに出くわしました。

「user948950」の質問に記載されているメッセージは、ログファイルが大きすぎる、mysql.iniファイルの値が正しくない、ファイルパスのスペース、セキュリティ/ aclの問題、古いエントリなど、さまざまな理由から発生しているようです。レジストリなど。

それで、これを修正するために3時間試した後、私は放棄し、古き良き再インストールを行うことにしました。

これは、(再び)このMySQLスレッドからのこの投稿が役に立った場所です、私は引用します:

ゲイリーウィリアムズは書いた:こんにちはみんな、

私はまったく同じ問題を抱えていました。これが、機能していないインストールから始めて、私がそれを機能させる方法です。

  1. 既存のmysqlインストールのWindowsサービスを停止します。

  2. Mysqlをアンインストールします。

ほとんどのアンインストールと同様に、古いファイルは残されます。ディレクトリがC:\ mysql \などの場合は、innobなどのファイルを削除しますが、ディレクトリ自体と既存のデータベースは「data」に残します。ディレクトリがC:\ Program Files \などの場合は、すべてのmysqlディレクトリを削除します。

  1. アンインストールによって古いレジストリエントリも削除されていることを確認するために、regeditを実行する価値があります。そうでない場合は、それらを削除します。

  2. 新しい.msiインストーラー(必須ファイルのみ)を使用しても問題ありませんが、...。

  3. デフォルトのインストールパスを使用しないでください!一部の天才は、スペースを含むパスを設定しました!カスタムインストールを選択し、適切なパス、つまりC:\ mysqlを選択します(Adrienからのメモ:C:\ mysqldata for ... the data)

  4. セキュリティ設定を変更することを選択しないでください。該当するチェックボックスをオフにすると、rootパスワードを設定しなくてもインストールが完了します。

私はすべてを覚えていると思います。

幸運を

ゲイリー

以前の「data」ディレクトリにあったデータベースを新しいデータベースにコピーして貼り付けるだけで、問題が発生しました。したがって、私が見つけた回避策は、各データベースをエクスポートして(私は知っています...とても楽しいです)、それらを1つずつ再インポートすることでした。

参考:次のコマンドを使用してインポートしC:/<MySQLInstallDir>/My SQL Server x.x/bin/mysql -u root -p <dbName> < "<dirPathOfDump>\<dumpName>.sql"ました。たとえば、C:/mysql/MySQL Server 5.6/bin/mysql -u root -p mySupaCoolDb < "C:\mySupaCoolDbDump20130901.sql"


0

以前も同じような状況でしたが、前回はWindows Updateの問題であることがわかりました(不明)。今回、MySQLワークベンチを開いたところ、ローカルデータベースへの接続が見つかりませんでした。テーブルが表示されませんが、昨日はデータベースに接続できました。

私の原因は、コンピューターをしばらくスリープ状態にしてから再度ウェイクアップした後、mysqlサービスが実行されていないことであることがわかりました。私の解決策:「mysql」という名前のサービスを再起動し、ワークベンチを再実行します。サービスの再起動にはしばらく時間がかかりますが、機能します。


0

私の問題は、MySQLサーバーが実際にインストールされていないことでした。MySQLインストーラーを実行しましたが、MySQLサーバーがインストールされませんでした。

インストーラーを再実行し、「追加」をクリックして、MySQLサーバーをリストに追加しました。今では正常に動作します。


0

問題は、MYSQLサーバーがインストールされていないことです。ここからインストーラーを入手できます

次に、この6分間のインストールチュートリアルをご覧ください

その後、MYSQL Workbenchで新しい接続を作成しても機能しない場合は、以下に示すように、その接続をrootとして実行してください。

ここに画像の説明を入力してください

.iniファイルが見つからない場合は、この回答を確認してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.