quarta-feira, 5 de novembro de 2014

Alterar a base de dados padrão do MySQL

É muito comum querer alterar o diretório de databases do MySQL por diversos motivos, como para deixar em uma partição maior só para dados, para mudar o caminho padrão das bases de dados do MySQL etc. 

A pasta de dados padrão do MySQL é: /var/lib/mysql 

Vamos mudar para a partição: /mysql


1. Stop MySQL:

# /etc/init.d/mysql stop 

2. Crie o diretório de dados: 

# mkdir /mysql 

3. Dê permissão ao MySQL: 

# chown -R mysql.mysql /mysql 

4. Edite o "my.cnf" e aponte para o novo diretório de dados: 

# vi /etc/my.cnf 


[mysqld]
datadir=/mysql
socket=/mysql/mysql.sock

[client]
socket=/databases/mysql/mysql.sock

5. Aqui, temos 2 opções: 

5.1. Copiar o conteúdo antigo para a nova pasta: 

# cp -vRp /var/lib/mysql/* /mysql 

Ou: 

5.2. Criar um nova base de dados. Se o MySQL for novo, tiver acabado de ser instalado, então faça: 

# mysql_install_db 

Se ao iniciar o MySQL você receber o erro: 

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
Adicione a entrada abaixo no "my.cnf": 

[client]
socket=/mysql/mysql.sock

Por fim: 

# /etc/init.d/mysql start