Salvando bancos de dados MySQL sem o mysqldump

1

Eu preciso fazer backup de alguns dos meus bancos de dados e migrá-los para um novo servidor.

Eu usaria o mysqldump, mas o problema é que estou tendo problemas ao iniciar o mysqld / mysql (parte do motivo pelo qual estou migrando). Eu continuei recebendo

# /etc/init.d/mysqld start
MySQL Daemon failed to start.
Starting mysqld:                                           [FAILED]

Basicamente, eu estava em um servidor media dv do templo e usei o yum para tentar atualizar coisas e isso bagunçou um monte de configurações porque o mediatemple não usava o yum originalmente para instalar o mysql, php, etc

DE QUALQUER MANEIRA, felizmente parece que minhas tabelas antigas ainda estão por aí (eu posso vê-las em /var/lib/mysql )

minha pergunta é : É possível para mim de alguma forma migrar os arquivos que estão no meu /var/lib/mysql para o meu novo servidor? Eu estava pensando que eu poderia apenas "copiar e colar" eles no diretório /var/lib/mysql do meu novo servidor ... Isso teoricamente funcionaria?

Ou eu tenho outras opções para mover as tabelas?

Estou no CentOS.

    
por K2xL 28.04.2012 / 18:59

2 respostas

2

Se todas as tabelas que você usa usarem o mecanismo de armazenamento MyISAM, então copiar / var / lib / mysql é bom.

Se mesmo uma tabe for InnoDB, você deve copiar o seguinte:

  • / var / lib / mysql
  • ibdata, ib_logfile0, ib_logfile1 (se não estiverem em / var / lib / mysql)
  • /etc/my.cnf (por causa das configurações do InnoDB)

Por favor, certifique-se de que quando você restaurar / var / lib / mysql em outra máquina, é mais seguro ter a mesma versão principal do MySQL naquele novo servidor.

Se você está atualizando de 5.1 para 5.5, copiar / var / lib / mysql está fora de questão para as tabelas de permissões, pois /var/lib/mysql/mysql/user.frm possui versões de quantidade de layout de coluna diferentes. / p>

  • O MySQL 5.0 possui 37 colunas
  • O MySQL 5.1 possui 39 colunas
  • O MySQL 5.5 tem 42 colunas
por 30.04.2012 / 19:06
1

Copiar o conteúdo de / var / lib / mysql não é uma solução bonita, mas funciona se ambas as versões do MySQL forem binariamente compatíveis entre si.

O que significa, na realidade, que os arquivos do MySQL 3 não funcionariam com um servidor MySQL 5.5. Mas geralmente quando a fonte é um MySQL 5.x e o destino também é 5.x, deve funcionar.

Eu não sei se poderia ser um problema quando a fonte é de 32 bits e o destino de 64 bits, no entanto.

    
por 28.04.2012 / 19:42