sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo hacer una copia de seguridad y restaurar la base de datos MySQL?

Cuando trabaje con MySQL, es posible que necesite hacer una copia de seguridad y restaurar la base de datos MySQL con regularidad. Ayuda a recuperarse en caso de accidentes. Así es como puede hacer una copia de seguridad y restaurar la base de datos MySQL.

mysqldump es una manera fácil de hacer una copia de seguridad de la base de datos MySQL. Viene incluido junto con los archivos de configuración de MySQL. Se instala en su computadora cuando instala MySQL. Crea un archivo *.sql con tabla DROP , CREAR tabla y INSERTAR en Sentencias SQL de su base de datos. Para restaurar la base de datos MySQL, ejecute el archivo *.sql en la base de datos de destino.

Puede usar mysqldump para respaldar una o varias bases de datos. Incluso puede hacer una copia de seguridad de tablas específicas en una base de datos.

Aquí está la sintaxis de los comandos para respaldar y restaurar la base de datos MySQL:

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

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

Cómo hacer una copia de seguridad de la base de datos MySQL

1. Copia de seguridad de una sola base de datos:

Digamos que desea una copia de seguridad de la base de datos sample_db. Por ejemplo, su contraseña de root es 'passwd'

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

Este comando realiza una copia de seguridad y vuelca la salida de la base de datos en sample_db.sql. El sales_db.sql contendrá la tabla desplegable, la creación de una tabla y el comando de inserción para todas las tablas en la base de datos sales_db. A continuación se muestra una salida parcial de sales_db.sql, que muestra la información de volcado:

--
-- 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. Copia de seguridad de varias bases de datos:

Seleccione las bases de datos que desea respaldar. Así es como puede obtener una lista de todas las bases de datos:

# 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 desea realizar una copia de seguridad de la base de datos sample_db y sample_sales_db. Ejecute mysqldump como se muestra:

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

3. Copia de seguridad de todas las bases de datos:

Así es como realiza una copia de seguridad de todas las bases de datos de su instancia de MySQL.

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

4. Copia de seguridad de una tabla específica:

Digamos que queremos hacer una copia de seguridad solo de la tabla user_table de la base de datos sample_db.

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

Cómo restaurar la base de datos MySQL

Para restaurar la base de datos sample_db, ejecute mysql con