После полного перезапуска мой сервер Apache PHP не подключается к Local MySQL (подключение через 127.0.0.1, потому что localhost по какой-то причине не всегда работает).
Итак, я сделал это сегодня:
➜ ~ 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!
Что в основном означает, что мне удалось отключить MySQL. Но как только я это сделал - Apache PHP успешно подключился к MySQL, и мои локальные сайты работали без сбоев до следующего перезапуска.
Вот еще несколько деталей:(как вы можете сказать - я установил MySQL через 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)
Это странная вещь:
➜ ~ killall -9 mysqld
MySQL мертв! Apache не подключается. Затем, когда я бегу:
➜ ~ sudo mysqladmin shutdown -u root -p
Enter password:
Apache (снова) может успешно подключаться к MySQL.
Насколько я понимаю, это означает, что у меня настроены два сервера mysql, и оба они пытаются запустить одновременно, но у меня нет ни малейшего представления о том, как это исправить. Я пытался переустановить варево, но это не помогло.
➜ ~ which mysqladmin
/usr/local/bin/mysqladmin
➜ ~ whence -p mysql
/usr/local/bin/mysql
Решение:
Шаг 1 из 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.*