sql >> Databáze >  >> RDS >> Mysql

Jak zálohovat a obnovit databázi MySQL?

Při práci s MySQL může být nutné pravidelně zálohovat a obnovovat databázi MySQL. Pomáhá zotavit se v případě nehody. Zde je návod, jak můžete zálohovat a obnovit databázi MySQL.

mysqldump je snadný způsob zálohování databáze MySQL. Dodává se spolu s instalačními soubory MySQL. Nainstaluje se do vašeho počítače při instalaci MySQL. Vytvoří soubor *.sql s tabulkou DROP , VYTVOŘIT tabulku a INSERT do SQL příkazy vaší databáze. Chcete-li obnovit databázi MySQL, spusťte soubor *.sql v cílové databázi.

Mysqldump můžete použít k zálohování jedné nebo více databází. Můžete dokonce zálohovat konkrétní tabulky v databázi.

Zde je syntaxe příkazů pro zálohování a obnovu databáze MySQL:

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

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

Jak zálohovat databázi MySQL

1. Zálohování jedné databáze:

Řekněme, že chcete zálohu databáze sample_db. Vaše root heslo je např. „passwd“

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

Tento příkaz provede zálohu a vypíše výpis databáze v sample_db.sql. Sales_db.sql bude obsahovat tabulku drop, create table a insert command pro všechny tabulky v databázi sales_db. Následuje částečný výstup sales_db.sql zobrazující informace o výpisu:

--
-- 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. Zálohování více databází:

Vyberte databáze, které chcete zálohovat. Zde je návod, jak můžete získat seznam všech databází:

# mysql -u root -ppasswd

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

Řekněme, že chcete zálohovat databázi sample_db i sample_sales_db. Spusťte mysqldump podle obrázku:

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

3. Zálohujte všechny databáze:

Zde je návod, jak zálohovat všechny databáze vaší instance MySQL.

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

4. Zálohujte konkrétní tabulku:

Řekněme, že chceme zálohovat pouze tabulku user_table z databáze sample_db.

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

Jak obnovit databázi MySQL

Chcete-li obnovit databázi sample_db, spusťte mysql s <, jak je uvedeno níže. Ujistěte se, že databáze, do které obnovujete soubor .sql, ve vašem počítači existuje. Jinak můžete vytvořit novou databázi a poté provést obnovu.

  1. ORACLE 11g standardně nerozlišuje velikost písmen

  2. Vystoupejte výš v cloudu s MariaDB SkySQL

  3. Jak mapovat pole pole PostgreSQL v Django ORM

  4. SQLite JSON_GROUP_OBJECT()