Después de reiniciar por completo, mi servidor PHP Apache no se conecta a MySQL local (se conecta a través de 127.0.0.1 porque localhost por alguna razón falla siempre).
Así que hice esto hoy:
➜ ~ mysqladmin shutdown -u root -p
Enter password:
➜ ~ mysqladmin shutdown -u root -p
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
Lo que básicamente significa que logré cerrar mysql. Pero tan pronto como lo hice, Apache PHP se conectó con éxito a MySQL y mis sitios locales funcionan sin problemas hasta el próximo reinicio.
Aquí hay algunos otros detalles: (como puede ver, he instalado MySQL a través de brew
)
➜ ~ sudo ps aux | grep mysql
N 4774 0.0 0.0 2432768 620 s000 S+ 9:53AM 0:00.00 grep mysql
N 4772 0.0 2.6 3030168 440688 ?? S 9:51AM 0:00.29 /usr/local/Cellar/mysql/5.6.13/bin/mysqld --basedir=/usr/local/Cellar/mysql/5.6.13 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql/5.6.13/lib/plugin --bind-address=127.0.0.1 --log-error=/usr/local/var/mysql/N.local.err --pid-file=/usr/local/var/mysql/N.local.pid
N 4686 0.0 0.0 2433432 1000 ?? S 9:51AM 0:00.01 /bin/sh /usr/local/opt/mysql/bin/mysqld_safe --bind-address=127.0.0.1
N 4362 0.0 2.7 3120276 458728 ?? S 9:47AM 0:00.45 mysqld
➜ ~ lsof -i | grep mysql
mysqld 4362 N 16u IPv6 0x76959e40691f9f93 0t0 TCP *:mysql (LISTEN)
Esto es lo raro:
➜ ~ killall -9 mysqld
MySQL está muerto! Apache no se conecta. Entonces, cuando corro:
➜ ~ sudo mysqladmin shutdown -u root -p
Enter password:
Apache es (nuevamente) capaz de conectarse con éxito a MySQL.
Por lo que yo entiendo, esto significa que tengo dos servidores mysql configurados y ambos están tratando de iniciarse al mismo tiempo, pero no tengo la menor idea de cómo solucionarlo. He intentado la reinstalación de brew pero eso no ayudó.
➜ ~ which mysqladmin
/usr/local/bin/mysqladmin
➜ ~ whence -p mysql
/usr/local/bin/mysql
Solución:
Paso 1 de https://stackoverflow.com/questions/1436425/how-do-you-uninstall-mysql-from-mac-os-x
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
vim /etc/hostconfig and removed the line MYSQLCOM=-YES-
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*
homebrew.mxcl.mysql.plist
mismo desde las instrucciones de configuración homebrew; de lo contrario, no veo ningún demonio mysql en ningún lado. ¿Hay algún otro lugar donde puede mirar?