MySQL altera o datadir, problema com o mysqld.sock

5

Eu tentei mudar o diretório do banco de dados, datadir, eu fiz os seguintes passos. Minha máquina: Laptop Ubuntu 11.10 64-bit

Instalar:

sudo apt-get install mysql-server mysql-client

Tudo ok, eu posso criar bancos de dados, tabelas, tudo ok. Altere o datadir:

1) $ /etc/init.d/mysql stop
2) $ cp -R -p /var/lib/mysql /new_path
3) $ rm /new_path                      (this only remove files unnecessary)
4) $ gedit /etc/mysql/my.cnf

Altere o "datadir = var / lib / mysql" para o novo caminho.

5) $ gedit /etc/apparmor.d/usr.sbin.mysqld

Altere "/ var / lib / mysql" para as novas linhas com "/ new_path / mysql"

6) $ /etc/init.d/apparmor reload
7) $ /etc/init.d/mysql restart
8) $ service mysql status     (is Ok)

O erro é o seguinte.

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)

Eu tentei alterar as permissões em / new_path / mysql e não funcionou.

Eu tentei copiar apenas os bancos de dados (não todos os arquivos no diretório mysql) e não funcionou

Eu vi em outro fórum que eu tenho que mudar o /etc/apparmor.d/usr.sbin.mysqld o seguinte

/var/run/mysqld/mysqld.pid w,
/var/run/mysqld/mysqld.sock w,

Substitua "/ var / run / mysqld / mysqld" por "/ {, var /} run / mysqld / mysqld" mas no meu caso foi com "/ {, var /} run / mysqld / mysqld" por padrão .

Por favor, preciso de ajuda, tenho 2 semanas com este problema.

Obrigado.

    
por user37980 28.01.2012 / 02:56

2 respostas

1

você pode fazer isso:

cd /var/lib/

tar -cf - mysql | (cd /new_path ; tar -xvf -)

então (porque é sempre uma boa ideia) faça um backup.

 mv /var/lib/mysql /var/lib/mysql.old

então um symlink

 ln -s /new_path/mysql/ /var/lib

Nesse caso, você não precisa tocar em /etc/mysql/my.cnf .

    
por maniat1k 01.03.2012 / 00:53
1

Para que isso funcione para mim, eu precisava modificar os arquivos mysql em /etc/apparmor.d/usr.sbin.mysqld . O link simbólico não era bom o suficiente por algum motivo. Talvez o elo não existisse antes do aparecimento do apparmor. Então fiz o seguinte:

nano /etc/apparmor.d/usr.sbin.mysqld

e alterado

  #/var/lib/mysql/ r,
  #/var/lib/mysql/** rwk,
  /mysql/mysql/ r,
  /mysql/mysql/** rwk,

onde / mysql era meu ponto de montagem para todo o meu repositório de dados mysql (uma unidade SSD).

Eu recebi a pista de um post de walli em: Re: MySQL ERROR 2002 (HY000): Não é possível conectar-se ao local

Tive a sorte de encontrar a solução para esse problema. Foi uma noite toda para eu encontrar a solução. Espero que isso ajude você. Seria uma boa ideia publicar uma nota diretamente no arquivo my.cnf sobre esse problema . Eu só não sei para quem mandar.

    
por Ant 16.06.2012 / 15:00