Onde encontro arquivos .SQL no Ubuntu Server?

3

Estou migrando servidores da web. Eu estou meio preso na migração dos bancos de dados MySQL. Eu queria saber onde encontrar os arquivos .SQL, que eu preciso para a migração, no Ubuntu Server. Eu acho que os arquivos .SQL são os únicos que eu preciso. Eu vou estar fazendo a migração com FTP e SSH. Qualquer ajuda seria muito apreciada.

    
por Arthur 17.12.2011 / 21:56

3 respostas

9

O MySQL não armazena dados como arquivos .sql. Ele armazena dados como arquivos MyISAM ou InnoDB, que normalmente são armazenados em / var / lib / mysql.

Se você precisar exportar para arquivos SQL, você pode fazê-lo com o comando mysqldump.

    
por 17.12.2011 / 22:00
5

Por padrão, o MySQL armazena seus arquivos em /var/lib/mysql , mas se o local padrão foi alterado, uma maneira mais confiável de descobrir onde os arquivos são mantidos é verificar o arquivo de configuração:

grep datadir /etc/mysql/my.cnf

Observe que os arquivos do banco de dados não terminam em .SQL. Em parte, depende do tipo de mecanismo (MyISAM, InnoDB, etc), mas você verá arquivos que terminam em .MYD (dados MyISAM) ou .MYI (índice MyISAM) e outros. Você vai querer todos esses arquivos, então copie todo o diretório.

Se você for migrar os arquivos copiando diretamente, lembre-se de que deseja encerrar o banco de dados com /etc/init.d/mysql stop primeiro, caso contrário, os arquivos podem acabar em um estado inconsistente que precisará de reparo e / ou pode conter dados inconsistentes ou corrompidos. Se você desligar o banco de dados, é perfeitamente razoável copiar os arquivos com:

rsync -av /var/lib/mysql/ remotehost:/var/lib/mysql/

Usar -a com rsync preservará a propriedade e as permissões nos arquivos, o que é importante. Observe também que, com rsync , as barras finais nos diretórios são importantes.

O método de cópia de arquivo é conveniente porque você não precisa fazer um dump / restore, no entanto, lembre-se de que ele causará problemas se você estiver movendo entre diferentes arquiteturas ou versões de banco de dados. Se estiver se movendo entre as versões do banco de dados, você também vai querer ler sobre mysql_upgrade que pode funcionar com o método rsync acima.

Se você quiser migrar os dados sem ter que desligar o banco de dados e / ou precisar migrar entre diferentes versões do mysql ou arquiteturas diferentes, então você pode usar mysqldump ou mysqlhotcopy .

    
por 17.12.2011 / 22:15
1

Você precisará criar seu próprio arquivo .SQL usando mysqldump -u <User> -p <Database Name> > dump.sql .

Em seguida, você precisa importá-lo para o novo servidor usando mysql -u <User> -p < dump.sql .

Obviamente, substituindo com informações apropriadas para você.

    
por 17.12.2011 / 22:02