Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Manual de MySQL
SEÇÕES
Manuais relacionados
+Manual de MySQL
Categorias
+MySQL

Índice do Manual Manual de MySQL
+ Instalação de MySQL em Windows
+ Tipos de dados de MySQL
+ Mysql Control Center
+ phpMyAdmin
+ Instalar o driver ODBC para conectar com uma base de dados MySQL
+ Exportar dados de MySQL a Microsoft Access
+ Exportar dados de Access a MySQL
+ Administrar e actualizar uma base de dados MySQL desde Access
+ Connector/J
+ Cópias de segurança em MySQL
+ Backup MySQL mediante sentenças SQL
+ Backup MySQL com mysqldump
+ Subir uma base de dados ao servidor de Internet
+ Subir uma base de dados MySQL vazia ao servidor
+ Subir uma base de dados MySQL com a estrutura e os dados
+ Migrar uma base de dados a MySQL
+ Como alterar tabelas MySQL
+ Verificação e correção de tabelas corrompidas no MySQL
+ Ferramentas Gráficas para Modelagem de Dados e Administração do MySQL
+ Criação de Database Links
+ Gerenciamento de Usuários e Controle de Acessos do MySQL
+ Trabalhando com os Vários Tipos de Tabelas do MySQL

Descrição dos capítulos


Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net
- CodigoFonte.net


Backup MySQL com mysqldump

O comando mysqldump do sistema gestor de base de dados MySQL serve para fazer cópias de segurança. Explicamo-lo ao pormenor e vemos as suas opções mais importantes.


Este comando permite fazer a cópia de segurança de uma ou várias bases de dados. Também permite que estas cópias de segurança se possam restaurar em diversos tipos de gestores de bases de dados, sem a necessidade de que se trate de um gestor de mySQL. Isto consegue-se criando uns ficheiros, que contêm todas as sentenças SQL necessárias para poder restaurar a tabela, que contem desde a sentença de criação da tabela, até uma sentença insert por cada um dos registos que formam parte da mesma.

O comando dispõem de uma ampla variedade de opções que nos permitirá realizar a cópia da forma mais conveniente para o propósito da mesma. Para poder restaurar a cópia de segurança, bastará com executar todas as sentenças SQL que se encontram dentro do ficheiro, bem desde a linha de comandos de MySQL, ou desde o menu de criação de sentenças SQL de qualquer entorno gráfico como pode ser o MySQL Control Center.

As limitações da restauração dependerão das opções que se especificaram na hora de fazer a cópia de segurança, por exemplo, se incluirmos a opção -add-drop-table ao fazer a cópia de segurança, poderão-se restaurar tabelas que existem actualmente no servidor (apagando-as primeiro). Pelo qual é necessário estudar primeiro os procedimentos que se utilizarão tanto na cópia como na restauração, para que tudo saia correcto!

Algumas das opções que tem são:

--add-locks
Adiciona LOCK TABLES antes, e UNLOCK TABLE depois da cópia de cada tabela.

--add-drop-table
Adiciona um drop table antes de cada sentença create.

-A, --all-databases
Copia todas as bases de dados. Isto é o mesmo que utilizar -databases seleccionando todas.

-a, --all
Inclui todas as opções de criação específicas de MySQL.

--allow-keywords
Permite a criação de nomes de colunas que são palavras chave, isto realiza-se pondo como prefixo a cada nome de coluna, o nome da tabela.

-c, --complete-insert
Utiliza inserts incluindo os nomes de coluna em cada sentença (incrementa bastante o tamanho do ficheiro)

-C, --compress
Comprime a informação entre o cliente e o servidor, se ambos suportam compressão.

-B, --databases
Para copiar várias bases de dados. Neste caso, não se especificam tabelas. O nome dos argumentos refere-se aos nomes das bases de dados. Incluirá-se USE db_name na saída antes de cada base de dados.

--delayed
Insere as filas com o comando INSERT DELAYED.

-e, --extended-insert
Utiliza a sintaxe de INSERT multilinha. (proporciona sentenças de insert mais compactas e rápidas)

-#, --debug[=option_string]
Utilização do modo de depuração.

--help
Mostra mensagem de ajuda e termina.

--fields-terminated-by=...
--fields-enclosed-by=...
--fields-optionally-enclosed-by=...
--fields-escaped-by=...
--lines-terminated-by=...

Estas opções utilizam-se com a opção -T e têm o mesmo significado que a correspondente cláusula LOAD DATA INFILE.

-F, --flush-logs
Escreve em disco todos os logs antes de começar com a cópia.

-f, --force,
Continua ainda que se produza um erro de SQL durante a cópia.

-h, --host=..
Copia os dados do servidor de MySQL especificado. O servidor pré-definido é localhost.

-l, --lock-tables.
Bloqueia todas as tabelas antes de começar com a cópia. As tabelas bloqueiam-se com READ LOCAL para permitir inserts simultâneos em caso das tabelas MyISAM. Quando se realiza a cópia de múltiplas bases de dados. As tabelas em diferentes bases de dados copiarão-se em estados completamente diferentes.

-K, --disable-keys
Incluirá-se na saída /*!40000 ALTER TABLE tb_name DISABLE KEYS */;e /*!40000 ALTER TABLE tb_name ENABLE KEYS */; Isto fará que o carregamento de dados num servidor MySQL 4.0 se realize mais rápido devido a que os índices se criarão depois de que todos os dados tenham sido restaurados.

-n, --no-create-db
Não se incluirá na saída CREATE DATABASE /*!32312 IF NOT EXISTS*/ db_name; Esta linha inclui-se se a opção --databases ou --all-databases foi seleccionada.

-t, --no-create-info
Não incluirá a informação de criação da tabela (sentença CREATE TABLE).

-d, --no-data
Não incluirá nenhuma informação sobre os registos da tabela. Esta opção serve para criar uma cópia só da estrutura da base de dados.

--opt
O mesmo que --quick --add-drop-table --add-locks --extended-insert --lock-tables. Esta opção deveria permitir realizar a cópia de segurança da base de dados da forma mais rápida e efetiva.

-pyour_pass, --password[=your_pass]
Password utilizada quando se conecta com o servidor. Se não se especifica `=your_pass', mysqldump preguntará a password.

-P, --port=...
Porto utilizado pelas ligações TCP/IP.

--protocol=(TCP | SOCKET | PIPE | MEMORY)
Especifica o protocolo de conexão que se utilizará.

-q, --quick
Não armazena no buffer a sentença, copia-a diretamente na saída. Utiliza mysql_use_result() para realiza-lo.

-Q, --quote-names
Põe entre aspas as tabelas e nomes de coluna.

-r, --result-file=...
Redireciona a saída ao ficheiro especificado. Esta opção deveria utilizar-se em MSDOS, porque previne a conversão de nova linha '\n' em nova linha e return '\n\r'.

--single-transaction
Utiliza o comando BEGIN antes de realizar a cópia desde o servidor. É muito útil com as tables InnoDB e o nível de transação READ_COMMITTED, porque deste modo realizará-se a copia de segurança de um estado consistente sem a necessidade de bloquear as aplicações. Consultar o manual para mais detalhes.

-S /path/to/socket, --socket=/path/to/socket
O ficheiro de sockets que se especifica ao conectar ao localhost (que é o host pré-definido).

--tables
sobrescreve a opção --databases (-B).

-T, --tab=path-to-some-directory
Cria um ficheiro table_name.sql, que contem a sentença de criação de SQL, e um ficheiro table_name.txt, que contem os dados de cada tabela. O formato do ficheiro '.txt' realiza-se com as opções --fields-xxx y --lines--xxx options.

Nota: Esta opção só funciona se o comando mysqldump se executa na mesma máquina que o demónio (daemon) mysqld, o usuário deverá ter licença para criar e escrever o ficheiro no path especificado.

-u nombre_usuario, --user=nombre_usuario
O nome de usuário que se utilizará quando se conecte com o servidor, o valor pré-definido é o do usuário actual.

-v, --verbose
Vai mostrando informação sobre as acções que se vão realizando (mais lento)

-w, --where='cláusula where'
Serve para realizar a cópia de determinados registos.

-X, --xml
Realiza a cópia de segurança num documento XML.

-x, --first-slave
Bloqueia todas as tabelas de todas as bases de dados.

Exemplo:

Para realizar a cópia de segurança da base de dados minhabase ao ficheiro copia_seguranca.sql

mysqldump --opt minhabase > copia_seguranca.sql

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Manual de MySQL

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em MySQL


Comentários dos visitantes
Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
Acrescentar um comentário do artigo Acrescentar um comentário do artigo



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites