Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment sauvegarder et restaurer la base de données MySQL ?

Lorsque vous travaillez avec MySQL, vous devrez peut-être sauvegarder et restaurer régulièrement la base de données MySQL. Il aide à récupérer en cas d'accident. Voici comment vous pouvez sauvegarder et restaurer la base de données MySQL.

mysqldump est un moyen simple de sauvegarder la base de données MySQL. Il est fourni avec les fichiers d'installation de MySQL. Il est installé sur votre ordinateur lorsque vous installez MySQL. Il crée un fichier *.sql avec table DROP , CRÉER un tableau et INSÉRER dans Instructions SQL de votre base de données. Pour restaurer la base de données MySQL, exécutez le fichier *.sql sur la base de données de destination.

Vous pouvez utiliser mysqldump pour sauvegarder une ou plusieurs bases de données. Vous pouvez même sauvegarder des tables spécifiques dans une base de données.

Voici la syntaxe des commandes pour sauvegarder et restaurer la base de données MySQL :

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

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

Comment sauvegarder la base de données MySQL

1. Sauvegarder une seule base de données :

Disons que vous voulez une sauvegarde de la base de données sample_db. Par exemple, votre mot de passe root est "passwd"

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

Cette commande effectue une sauvegarde et vide la sortie de la base de données dans sample_db.sql. Le sales_db.sql contiendra drop table, create table et insert command pour toutes les tables de la base de données sales_db. Voici une sortie partielle de sales_db.sql, montrant les informations de vidage :

--
-- 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. Sauvegardez plusieurs bases de données :

Sélectionnez les bases de données que vous souhaitez sauvegarder. Voici comment obtenir une liste de toutes les bases de données :

# mysql -u root -ppasswd

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

Supposons que vous souhaitiez effectuer une sauvegarde des bases de données sample_db et sample_sales_db. Exécutez mysqldump comme indiqué :

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

3. Sauvegardez toutes les bases de données :

Voici comment sauvegarder toutes les bases de données de votre instance MySQL.

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

4. Sauvegarder une table spécifique :

Supposons que nous voulions sauvegarder uniquement la table user_table de la base de données sample_db.

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

Comment restaurer la base de données MySQL

Pour restaurer la base de données sample_db, exécutez mysql avec