Como copiar o banco de dados MySQL de um servidor para outro?

2

Acabei de fazer um site no Joomla! 1.6. Web sites no Joomla! consistem em duas partes básicas. Existem arquivos que são usados pelo servidor HTTP e há o banco de dados. Eu tenho acesso FTP ao servidor e copiei os arquivos necessários, mas não sei como copiar o banco de dados MySQL.

Eu tenho acesso ao aplicativo de terminal do MySQL no computador remoto e ao MySQL no meu computador. No servidor, já existe um nome de usuário que eu posso usar e há um banco de dados vazio que eu deveria usar. O usuário tem controle total sobre o banco de dados.

Eu não tenho acesso físico ao servidor remoto.

Este deve ser muito simples, mas o Google não está comigo hoje.

    
por AndrejaKo 22.03.2011 / 19:55

3 respostas

2

Este link (retirado dos documentos do MySql ...) mostra como usar os utils com MySql para mover o banco de dados para um local diferente. Pessoalmente, nunca precisei fazer isso, mas as instruções detalhadas devem ser suficientes.

    
por 22.03.2011 / 20:05
2

Existem duas maneiras básicas de conseguir isso.

1) Faça o dump do banco de dados para um arquivo de texto e importe no final remoto

2) Copie os arquivos de dados brutos.

A opção 1 é geralmente a mais confiável, especialmente se os dois sistemas forem diferentes.

Primeiro, crie um dump do banco de dados:

$ mysqldump -u <username> -p<password> <databasename> | bzip2 >mydatabase.sql.bz2

Isto irá despejar o banco de dados inteiro e compactá-lo em um arquivo. Você não tem que fazer a compressão se você não quiser, mas faz a transferência do arquivo pela internet muito mais rápido. Obviamente, substitua o nome de usuário, senha e nome do banco de dados por seus detalhes reais.

Uma vez que você tenha o arquivo mydatabase.sql.bz2, transfira-o para o servidor remoto com as ferramentas que você usaria normalmente (scp por exemplo);

Um transferido você precisa criar o banco de dados no servidor remoto (ou tê-lo criado para você pelo administrador do sistema / painel de controle):

mysql> create database <databasename>;
mysql> grant all privileges on <databasename>.* to <username>@localhost identified by '<password>'

Obviamente, substitua os detalhes por seus próprios detalhes.

Agora, para restaurar o banco de dados:

$ bzcat mydatabase.sql.bz2 | mysql -u <username> -p<password> <databasename>

Após alguns instantes, você deve ter seu banco de dados agora instalado no servidor remoto.

    
por 22.03.2011 / 20:16
1

Mudei alguns sites do Joomla manualmente de servidores de desenvolvimento para seus hosts virtuais, mas agora use Akeeba Backup ao criar um 'pacote' do site que pode ser carregado em um servidor de destino e depois 'executado' (de um navegador) para restaurar o site - é maravilhoso, gratuito e compatível com o 1.6.

Vale a pena ler: link

    
por 22.03.2011 / 21:43

Tags