MySQLサーバーに接続できませんエラー111 [完了]


152

mysqlサーバーをLinuxボックスIP = 192.168.1.100にインストールしましたが、このIPに接続しようとすると、常にエラー(111)になります。しかしlocalhostを使用し、127.0.0.1で問題ありません。

beer @ beer-laptop#ifconfig | grep "inet addr"
          inet addr:127.0.0.1 Mask:255.0.0.0
          inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0

beer @ beer-laptop#mysql -ubeer -pbeer -h192.168.1.100
エラー2003(HY000): '192.168.1.100'(111)のMySQLサーバーに接続できません

beer @ beer-laptop#mysql -ubeer -pbeer -hlocalhost
MySQLモニターへようこそ。コマンドは;で終わります。または\ g。
MySQL接続IDは160です
サーバーのバージョン:5.1.31-1ubuntu2(Ubuntu)

「ヘルプ」と入力します。または '\ h'を使用してください。バッファをクリアするには、「\ c」と入力します。

mysql> 

beer @ beer-laptop#mysql -ubeer -pbeer -h127.0.0.1
MySQLモニターへようこそ。コマンドは;で終わります。または\ g。
MySQL接続IDは161です
サーバーのバージョン:5.1.31-1ubuntu2(Ubuntu)

「ヘルプ」と入力します。または '\ h'を使用してください。バッファをクリアするには、「\ c」と入力します。

mysql> 

別のマシンから接続すると、エラー111になります。

another @ another-laptop#mysql -ubeer -pbeer -h192.168.1.100
エラー2003(HY000): '192.168.1.100'(111)のMySQLサーバーに接続できません

この場合のlocalhost / 127.0.0.1と192.168.1.100の使用の違い。別のマシンからこのデータベースに接続する方法がわかりません。

助けてください。感謝。

回答:


263

これはおそらく、MySQLサーバーがlocalhostインターフェースのみをリッスンしていることを意味します。

このような行がある場合:

bind-address = 127.0.0.1

あなたにはmy.cnf、設定ファイル、あなたがそれらをコメントすべきである(行の先頭に#を追加)、およびMySQLを再起動してください。

sudo service mysql restart

もちろん、これを行うには、サーバーの管理者である必要があります。


6
明らかに、彼にはskip-networking行がありません;-)
マイケルクレリン-ハッカー

11
どのようにMySQLのmy.cnfファイルの場所を知っている:stackoverflow.com/questions/2482234/...を
シリルJacquart

2
しかし、mysqlワークベンチからそれに接続できるとどうなりますか?私は同じ問題を抱えています。
ジョージパンフィリス

3
私は答えで与えられたものに従いましたが、それでもそれを機能させることができませんでした。次に、「bind-address」パラメータが「/etc/mysql/mysql.conf.d/mysqld.cnf」ファイルにあることを見つけました。あそこにコメントして、うまくいきました!
Yahya、

3
新しいバージョンのubuntu> = 16.04では、/ etc
mysql /

38

111は接続が拒否されたことを意味します。つまり、mysqldはlocalhostインターフェースのみをリッスンします。

これを変更するには、ファイルのセクションのbind-addressmysqldを確認しmy.cnfます。


ポート番号が有効かどうかを確認することも価値があります。一致:3306しない:3307ため、111エラーも発生する可能性があります。
NXT

2
@ NXT、mysqlが異なるインターフェイスの異なるポートでリッスンできるかどうかさえわかりませんが、可能であるとしても(元の投稿の症状が与えられた場合)シナリオはほとんどありません。その後、ファイアウォールルールなどが存在する可能性があります。それを実現する方法はたくさんありますが、可能性は異なります…
マイケルクレリン-ハッカー

常にそうだとは限らない。私のmy.cnfファイルは、任意の持っていないbind-addressskip-networkingのラインを、まだ私は同じエラーを取得します。ファイアウォールもインストールされていません。アイデアがなくなった。
2016年

まあ、111は常に接続が拒否されたことを意味します:)そして、localhost-onlyは、この特定のケースでは他の証拠によるものです。ケースの詳細を教えていただければ、私がお手伝いできるでしょうか?また、現在のシステムによっては、設定が複数のファイルに分散している可能性があります。
マイケルクレリン-ハッカー、

10

上記のすべての回答で解決できない場合は、ユーザー権限を確認してください。

rootmysql としてログインできる場合は、これを追加する必要があります。

CREATE USER 'root'@'192.168.1.100' IDENTIFIED BY  '***';
GRANT ALL PRIVILEGES ON * . * TO  'root'@'192.168.1.100' IDENTIFIED BY  '***' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

次に、を使用して再度接続してくださいmysql -ubeer -pbeer -h192.168.1.100。うまくいくはずです。


17
私は、そのユーザーの権限に関連するエラーはエラー111を与えるだろうとは思わない
ufk

1
実際に機能し、111エラーも発生しました。
ボルジャンテ2015

これは、mysqlをネットワーク全体に開放して127.0.0.1行をコメントアウトするよりも優れたソリューションのようです。それが最善の解決策であるべきです。
nyxee 2015年

7

cPanel / WHMを実行している場合は、IPがファイアウォールでホワイトリストに登録されていることを確認してください。また、接続しようとしているcPanelアカウントのリモートSQL IPリストにそのIPを追加する必要があります。


1
エラーの原因がファイアウォールであるかどうかを確認するには、エラーが返されるまでにかなり時間がかかることがわかります。MySQLが問題を引き起こしている場合、応答はほとんど瞬時になります。
グリム...

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