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.cnf
hepsi 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 mysql
ve bağlama adresinin başlatma komutunda (böylece herhangi bir my.cnf
dosyayı 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.plist
için değiştirmek --bind-address=127.0.0.1
iç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 mysql
varsayı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.plist
ve değiştirme --bind-address=127.0.0.1
ile 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.
ssh
bir 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.