Double MySQL rodando em Mountain Lion

0

Depois que eu fiz uma reinicialização completa, meu servidor Apache PHP não se conecta ao MySQL Local (conectando via 127.0.0.1 porque localhost por algum motivo falha sempre).

Então eu fiz isso hoje:

➜  ~ 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!

O que basicamente significa que eu consegui desligar o mysql. Mas assim que eu fiz - o Apache PHP conectou-se com sucesso ao MySQL e meus sites locais funcionam sem interrupções até a próxima reinicialização.

Aqui estão alguns outros detalhes: (como você pode dizer - eu instalei o MySQL via 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)

Essa é a coisa estranha:

➜  ~  killall -9 mysqld

O MySQL está morto! O Apache não se conecta. Então, quando eu corro:

➜  ~  sudo mysqladmin shutdown -u root -p
Enter password:

O Apache é (novamente) capaz de se conectar ao MySQL com sucesso.

Tanto quanto eu entendo isso significa que eu tenho dois servidores mysql configurado e ambos estão tentando iniciar ao mesmo tempo, mas eu não tenho a menor idéia sobre como consertá-lo. Eu tentei fazer a reinstalação, mas isso não ajudou.

➜  ~  which mysqladmin
/usr/local/bin/mysqladmin
➜  ~  whence -p mysql
/usr/local/bin/mysql

Solução:

Etapa 1 de link

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.*
    
por justnorris 18.10.2013 / 09:08

1 resposta

1

Eu recomendaria verificar para ver quais daemons de lançamento você configurou em /Library/LaunchDaemons...Não sei qual brew usa para configurar itens de inicialização, mas no Mac OS X, launchd é o atual recomendação. Se você encontrar algo relacionado ao MySQL em / Library / LaunchDaemons, você pode descarregá-lo com um comando similar a:

sudo launchctl unload /Library/LaunchDaemons/com.example.plist

As versões anteriores (10.5; 10.6) do Mac OS X incluíam o MySQL, que foi instalado na pasta / System / Library / LaunchDaemons:

sudo launchctl unload /System/Library/LaunchDaemons/org.mysql.mysqld.plist

Se você instalou versões do MySQL a partir do Oracle / Sun, você ainda pode ter um StartupItem do MySQL em / Library / StartupItems. Deve ser possível parar esse serviço da seguinte forma:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM StopService

Fora disso, não deve haver muitos outros lugares que você precisa procurar ...

    
por 18.10.2013 / 11:32