私は今日、Homebrewで最近更新されたMySQL 5.7を備えたOSX Yosemiteで、このエラーに頭を悩ませています。StackOverflowや他の場所での提案に従って、私はmy.cnf
すべてが指定されたファイルを探し回りましたbind-address=0.0.0.0
。私も除去され、これらの指示に従ってMySQLを再インストールしてから使用して再インストールbrew install mysql
。まだリモート接続は許可されていません。
私が実行ps -ax | grep mysql
し、起動コマンドでバインドアドレスが渡されていることに気付いて(my.cnf
ファイルを上書きして)初めて気がついたのは、さらに掘り下げて、HomebrewがMySQLをデフォルトで127.0.0.1にバインドしていることでした。
~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
変更--bind-address=127.0.0.1
して編集して--bind-address=0.0.0.0
私の問題を解決しました(これが単なる開発マシンでない場合は、後者を特定のIPアドレスに変更する必要があります)。
これは、私が相談したほとんどのリソースから欠けていた重要な情報であると思いますので、ここに投稿することで他の誰かの助けになると期待しています!
編集:としてLeandroCRはランニング、コメントで示されたbrew services restart mysql
再接続を拒否不思議なのMySQLにつながる、デフォルトの1とのLaunchAgentsでのplistファイルを上書きします。私が最初に書いたものよりも良いアドバイスは次のとおりです:
- 編集
/usr/local/Cellar/mysql/<yourversion>/homebrew.mxcl.mysql.plist
と置換--bind-address=127.0.0.1
してbind-address=*
か--bind-address=0.0.0.0
(バインド・アドレス上でMySQLのマニュアルを参照してください)
- を使用してmysqlを再起動します
brew services restart mysql
その後、MySQLはそれ以降、非ローカル接続を受け入れ続けるはずです。おそらく、再インストールするまでです。
編集(2019年9月)
Timothy Zornは、Homebrewを介してインストールおよび実行されるMySQL 8.xではこの問題が発生しないことを指摘しているため、2016年に書かれた上記の私の回答は5.xにのみ関連する可能性があります。
ssh
1つのタブで開いているときにデータベースに接続できますが、それ以外の場合はできません。問題は、リモートサーバーにログインしていないときにデータベースサーバープロセスが一時停止または実行されていないことです。