Eu recentemente movi meu mysql datadir de /var/lib/mysql para um novo diretório /home/mysql montado em um novo disco rígido.
Por questão de limpeza, achei que seria bom colocar tmpdir e socket neste novo disco rígido.
Tudo funciona como planejado, até que eu mudei o arquivo de soquete. Mover o arquivo de soquete evita que o phpMyAdmin efetue login; Eu posso fazer o login bem na linha de comando e usando o meu framework web, mas não com o phpMyAdmin.
A única diferença entre uma configuração de trabalho e não está no meu arquivo my.cnf .
Trabalhando:
[mysqld]
socket = /var/lib/mysql/mysql.sock
...
[client]
socket = /var/lib/mysql/mysql.sock
Não:
[mysqld]
socket = /home/mysql/mysql.sock
...
[client]
socket = /home/mysql/mysql.sock
Supondo que isso seja um erro de permissão, verifiquei os caminhos de cada local:
drwxr-xr-x. root root var
drwxr-xr-x. root root lib
drwxr-xr-x mysql mysql mysql
srwxrwxrwx mysql mysql mysql.sock
drwxr-xr-x. root root home
drwxr-xr-x mysql mysql mysql
srwxrwxrwx mysql mysql mysql.sock
então eu estou supondo que eles estão bem. Eu assumi errado?
Eu phpMyAdmin configurado para usar 'localhost' Eu tenho a opção mysql bind-address definida para o nosso IP de rede local para o servidor (192.168.etc.)
Eu também reiniciei os servidores httpd e mysqld ao testar uma nova configuração.
Estou muito feliz em deixar o arquivo de soquete onde está, supondo que isso não seja um problema de segurança / desempenho, mas adoraria saber o que está acontecendo se alguém puder ajudar a lançar alguma luz!