Mysql
 sql >> Database >  >> RDS >> Mysql

Come eseguire il backup e il ripristino del database MySQL?

Quando si lavora con MySQL, potrebbe essere necessario eseguire regolarmente il backup e il ripristino del database MySQL. Aiuta a recuperare in caso di incidenti. Ecco come eseguire il backup e il ripristino del database MySQL.

mysqldump è un modo semplice per eseguire il backup del database MySQL. Viene fornito in bundle con i file di installazione di MySQL. Viene installato sul tuo computer quando installi MySQL. Crea un file *.sql con tabella DROP , CREA tabella e INSERIRE in istruzioni SQL del tuo database. Per ripristinare il database MySQL, eseguire il file *.sql sul database di destinazione.

È possibile utilizzare mysqldump per eseguire il backup di database singoli o multipli. Puoi persino eseguire il backup di tabelle specifiche in un database.

Ecco la sintassi dei comandi per il backup e il ripristino del database MySQL:

backup: # mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql

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

Come eseguire il backup del database MySQL

1. Eseguire il backup di un singolo database:

Diciamo che vuoi un backup del database sample_db. Ad esempio, la tua password di root è "passwd"

# mysqldump -u root -ppasswd sample_db > sample_db.sql

Questo comando esegue il backup e scarica l'output del database in sample_db.sql. Sales_db.sql conterrà drop table, creerà tabella e inserirà il comando per tutte le tabelle nel database sales_db. Di seguito è riportato un output parziale di sales_db.sql, che mostra le informazioni sul 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. Eseguire il backup di più database:

Seleziona i database di cui desideri eseguire il backup. Ecco come ottenere un elenco di tutti i database:

# mysql -u root -ppasswd

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

Diciamo che vuoi eseguire il backup di entrambi i database sample_db e sample_sales_db. Esegui mysqldump come mostrato:

# mysqldump -u root -ppasswd --databases sample_db sample_sales_db > multi_databases.sql

3. Eseguire il backup di tutti i database:

Ecco come eseguire il backup di tutti i database della tua istanza MySQL.

# mysqldump -u root -ppasswd --all-databases > all-database.sql

4. Eseguire il backup di una tabella specifica:

Supponiamo di voler eseguire il backup solo della tabella user_table dal database sample_db.

# mysqldump -u root -ppasswd sample_db user_table > sample_db_user_table.sql

Come ripristinare il database MySQL

Per ripristinare il database sample_db, eseguire mysql con