Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wykonać kopię zapasową i przywrócić bazę danych MySQL?

Podczas pracy z MySQL może być konieczne regularne tworzenie kopii zapasowych i przywracanie bazy danych MySQL. Pomaga odzyskać siły w razie wypadku. Oto jak możesz wykonać kopię zapasową i przywrócić bazę danych MySQL.

mysqldump to prosty sposób na wykonanie kopii zapasowej bazy danych MySQL. Jest dostarczany wraz z plikami instalacyjnymi MySQL. Jest instalowany na twoim komputerze podczas instalacji MySQL. Tworzy plik *.sql z tablicą DROP , UTWÓRZ tabelę i WSTAW w Instrukcje SQL Twojej bazy danych. Aby przywrócić bazę danych MySQL, uruchom plik *.sql w docelowej bazie danych.

Możesz użyć mysqldump do tworzenia kopii zapasowych jednej lub wielu baz danych. Możesz nawet wykonać kopię zapasową określonych tabel w bazie danych.

Oto składnia poleceń do tworzenia kopii zapasowych i przywracania bazy danych MySQL:

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

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

Jak wykonać kopię zapasową bazy danych MySQL

1. Utwórz kopię zapasową pojedynczej bazy danych:

Załóżmy, że chcesz wykonać kopię zapasową bazy danych sample_db. Np. Twoje hasło roota to „passwd”

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

To polecenie wykonuje kopię zapasową i zrzuca dane wyjściowe bazy danych w pliku sample_db.sql. Sales_db.sql będzie zawierał upuść tabelę, utwórz tabelę i polecenie wstaw dla wszystkich tabel w bazie danych sales_db. Poniżej znajduje się częściowe dane wyjściowe pliku sales_db.sql, pokazujące informacje zrzutu:

--
-- 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. Utwórz kopię zapasową wielu baz danych:

Wybierz bazy danych, których kopię zapasową chcesz wykonać. Oto jak możesz uzyskać listę wszystkich baz danych:

# mysql -u root -ppasswd

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

Załóżmy, że chcesz wykonać kopię zapasową zarówno bazy danych sample_db, jak i sample_sales_db. Uruchom mysqldump, jak pokazano:

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

3. Utwórz kopię zapasową wszystkich baz danych:

Oto jak wykonać kopię zapasową wszystkich baz danych swojej instancji MySQL.

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

4. Utwórz kopię zapasową określonej tabeli:

Załóżmy, że chcemy wykonać kopię zapasową tylko tabeli user_table z bazy danych sample_db.

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

Jak przywrócić bazę danych MySQL

Aby przywrócić bazę danych sample_db, wykonaj mysql z <, jak pokazano poniżej. Upewnij się, że baza danych, do której przywracasz plik .sql, istnieje na Twoim komputerze. W przeciwnym razie możesz utworzyć nową bazę danych, a następnie wykonać przywracanie.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Równoważenie obciążenia PostgreSQL i ulepszenia ProxySQL — ClusterControl 1.5

  2. Źródło danych MySQL nie pojawia się w Visual Studio

  3. Wyjątek:istnieje już otwarty DataReader powiązany z tym połączeniem, który należy najpierw zamknąć

  4. Zmień i zresetuj hasło roota MySQL

  5. MySQL DATEDIFF() vs TIMESTAMPDIFF():Jaka jest różnica?