Bugün Homebrew ile güncellenen MySQL 5.7 ile OSX Yosemite'de bu hataya karşı başımı çarptım. StackOverflow ve başka yerlerdeki önerileri takiben, my.cnfhepsi belirtilen dosyalardan sonra avlandım bind-address=0.0.0.0. Hatta bu talimatları izleyerek MySQL'i kaldırdım ve yeniden kurdum ve ardından yeniden kurdum brew install mysql. Yine de uzak bağlantıya izin verilmiyor.
Ben koştu ps -ax | grep mysqlve bağlama adresinin başlatma komutunda (böylece herhangi bir my.cnfdosyayı geçersiz kıldığını ) geçirildiğini fark edene kadar değildi ve Homebrew'un MySQL'i varsayılan olarak 127.0.0.1'e bağladığını öğrendim .
Sorunumu çözmek ~/Library/LaunchAgents/homebrew.mxcl.mysql.plistiçin değiştirmek --bind-address=127.0.0.1için düzenleme --bind-address=0.0.0.0(yalnızca bir geliştirme makinesi değilse, ikincisi belirli bir IP adresine değiştirilmelidir).
Bu, danıştığım kaynakların çoğundan yoksun olan hayati bir bilgi parçası olduğunu düşünüyorum, bu yüzden umarım bunu buraya göndermek başka birine yardımcı olacaktır!
DÜZENLEME: LeandroCR yorumlarda belirtildiği gibi , çalıştırma brew services restart mysqlvarsayılan olarak LaunchAgents plist dosyasının üzerine yazarak MySQL bağlantılarını gizemli bir şekilde tekrar reddetmesine yol açar. Aslında yazdığımdan daha iyi tavsiye şudur:
- Düzenleme
/usr/local/Cellar/mysql/<yourversion>/homebrew.mxcl.mysql.plistve değiştirme --bind-address=127.0.0.1ile bind-address=*veya --bind-address=0.0.0.0( bağlama-adresine MySQL belgelerine bakın )
- Kullanarak mysql'yi yeniden başlat
brew services restart mysql
O zaman MySQL, muhtemelen yeniden yükleyene kadar yerel olmayan bağlantıları kabul etmeye devam etmelidir.
Edit (Eyl 2019)
Timothy Zorn , bu sorunun artık Homebrew üzerinden kurulmuş ve çalıştırılan MySQL 8.x için ortaya çıkmadığına işaret ediyor, bu nedenle 2016 yılında yazılan yukarıdaki cevabım sadece 5.x ile ilgili olabilir.
sshbir sekmede açık, ancak aksi takdirde veritabanına bağlanabilir . Bence sorun, uzak sunucuda oturum açmadığımda veritabanı sunucusu işleminin duraklatılmış veya çalışmıyor olmasıdır.