Se você estiver usando o MySQL Versão 3.23, você pode copiar
os arquivos .frm
, .MYI
e
.MYD
para tabelas MyISAM
entre diferentes arquiteturas que suportem o mesmo formato de
ponto flutuante. (O MySQL cuida de cada detalhe de troca de
bytes.) See Secção 7.1, “Tabelas MyISAM
”.
Os arquivos ISAM
de dados e índices
(*.ISD
e *.ISM
respectivamente) são dependentes da arquitetura e em alguns
casos dependentees do Sistema Operacional. Se você deseja mover
suas aplicações para outra máquina que tem uma arquitetura ou
SO diferentes da sua máquina atual, você não deve tentar
mover um banco de dados simplesmente copiando os arquivos para a
outra máquina. Use o mysqldump
.
Por padrão, o mysqldump
irá criar um
arquivo contendo declarações SQL. Você pode então transferir
o arquivo para a outra máquina e alimentá-la como uma entrada
para o cliente mysql
.
Utilize mysqldump --help
para ver quais
opções estão disponíveis. Se você está movendo os dados
para uma versão mais nova do MySQL, você deve usar
mysqldump --opt
com a nova versão para obter uma
descarga rápida e compacta.
A mais fácil (mas não a mais rápida) forma para mover um banco de dados entre duas máquinas é executar os seguintes comandos na máquina em que o banco de dados se encontra:
shell>mysqladmin -h 'nome da outra maquina' create nome_bd
shell>mysqldump --opt nome_bd \
| mysql -h 'nome da outra maquina' nome_bd
Se você deseja copiar um banco de dados de um máquina remota sobre uma rede lenta, pode ser usado:
shell>mysqladmin create nome_bd
shell>mysqldump -h 'nome de outra maquina' --opt --compress nome_bd \
| mysql nome_bd
O resultado pode também ser armazenado em um arquivo, depois transfira o arquivo para a máquina destino e carregue o arquivo no banco de dados. Por exemplo você pode descarregar um banco de dados para um arquivo na máquina origem desta forma:
shell> mysqldump --quick nome_bd | gzip > nome_bd.contents.gz
(O arquivo criado neste exemplo está compactado.) Transfria o arquivo contendo o conteúdo do banco de dados para a máquina destino e execute estes comandos:
shell>mysqladmin create nome_bd
shell>gunzip < nome_bd.contents.gz | mysql nome_bd
Também pode ser usado mysqldump
e
mysqlimport
para ajudar na transferência do
banco de dados. Para grandes tabelas, isto é muito mais rápido
do que usar simplesmente mysqldump
. Nos
comandos abaixo, DUMPDIR
representa o caminho
completo do diretório que você utiliza para armazenar a saída
de mysqldump
.
Primeiro, crie o diretório para os arquivos de saída e descarregue o banco de dados:
shell>mkdir DUMPDIR
shell>mysqldump --tab=DUMPDIR nome_bd
Depois transfira os arquivo no diretório
DUMPDIR
para algum diretório correspondente
na máquina destino e carregue os arquivos no MySQL assim:
shell>mysqladmin create nome_bd # cria o banco de dados
shell>cat DUMPDIR/*.sql | mysql nome_bd # cria tabelas no banco de dados
shell>mysqlimport nome_bd DUMPDIR/*.txt # carrega dados nas tabelas
Não se esqueça de copiar o banco de dados
mysql
também, porque é nele que as tabelas
de permissões (user
, db
e
host
) são armazenadas. Você pode ter que
executar comandos como o usuário root
do
MySQL na nova máquina até que você tenha o banco de dados
mysql
no lugar.
Depois de importar o banco de dados mysql
para a nova máquina, execute mysqladmin
flush-privileges
para que o servidor recarregue as
informações das tabelas de permissões.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.