Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como fazer backup e restaurar o banco de dados MySQL?


Ao trabalhar com MySQL, pode ser necessário fazer backup e restaurar o banco de dados MySQL regularmente. Ajuda a recuperar em caso de acidentes. Veja como você pode fazer backup e restaurar o banco de dados MySQL.

mysqldump é uma maneira fácil de fazer backup do banco de dados MySQL. Ele vem junto com os arquivos de configuração do MySQL. Ele é instalado no seu computador quando você instala o MySQL. Ele cria um arquivo *.sql com DROP table , CRIAR tabela e INSERIR em Instruções SQL do seu banco de dados. Para restaurar o banco de dados MySQL, execute o arquivo *.sql no banco de dados de destino.

Você pode usar o mysqldump para fazer backup de um ou vários bancos de dados. Você pode até fazer backup de tabelas específicas em um banco de dados.

Aqui está a sintaxe dos comandos para fazer backup e restaurar o banco de dados MySQL:
backup: # mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql

restore:# mysql -u root -p[root_password] [database_name] < dumpfilename.sql

Como fazer backup do banco de dados MySQL

1. Faça backup de um único banco de dados:


Digamos que você queira um backup do banco de dados sample_db. Por exemplo, sua senha de root é 'passwd'
# mysqldump -u root -ppasswd sample_db > sample_db.sql

Este comando faz backup e despeja a saída do banco de dados em sample_db.sql. O sales_db.sql conterá o comando drop table, create table e insert para todas as tabelas do banco de dados sales_db. A seguir está uma saída parcial de sales_db.sql, mostrando as informações de dump:
--
-- Table structure for table `user_table`
--
DROP TABLE IF EXISTS `user_table`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `user_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(75) DEFAULT NULL,
`email` varchar(75) NOT NULL,
`password` varchar(128) NOT NULL,
`date_joined` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `user_table`
--

LOCK TABLES `user_table` WRITE;
/*!40000 ALTER TABLE `user_table` DISABLE KEYS */;
INSERT INTO `user_table` VALUES (1,'test_user','[email protected]','sha1$96e28$effdf3bfe8d0477','2012-12-12 23:17:10'),(7,'[email protected]','[email protected]','sha1$5e05960cede8','2013-02-05 14:56:04'),(8,'[email protected]','[email protected]','sha1$c2497b6420379ac76','2013-02-05 14:57:01');
/*!40000 ALTER TABLE `user_table` ENABLE KEYS */;
UNLOCK TABLES;

2. Faça backup de vários bancos de dados:


Selecione os bancos de dados que você deseja fazer backup. Veja como você pode obter uma lista de todos os bancos de dados:
# mysql -u root -ppasswd

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| sample_db          |
| mysql              |
| sample_sales_db    |
+--------------------+
4 rows in set (0.00 sec)

Digamos que você queira fazer backup do banco de dados sample_db e sample_sales_db. Execute mysqldump como mostrado:
# mysqldump -u root -ppasswd --databases sample_db sample_sales_db > multi_databases.sql

3. Faça backup de todos os bancos de dados:


Veja como você faz backup de todos os bancos de dados da sua instância MySQL.
# mysqldump -u root -ppasswd --all-databases > all-database.sql

4. Faça backup de uma tabela específica:


Digamos que queremos fazer backup apenas da tabela user_table do banco de dados sample_db.
# mysqldump -u root -ppasswd sample_db user_table > sample_db_user_table.sql

Como restaurar o banco de dados MySQL


Para restaurar o banco de dados sample_db, execute mysql com