Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để sao lưu và khôi phục cơ sở dữ liệu MySQL?

Khi làm việc với MySQL, bạn có thể cần phải sao lưu và khôi phục cơ sở dữ liệu MySQL thường xuyên. Nó giúp phục hồi trong trường hợp tai nạn. Đây là cách bạn có thể sao lưu và khôi phục cơ sở dữ liệu MySQL.

mysqldump là một cách dễ dàng để sao lưu cơ sở dữ liệu MySQL. Nó đi kèm với các tệp thiết lập MySQL. Nó được cài đặt trên máy tính của bạn khi bạn cài đặt MySQL. Nó tạo tệp * .sql với bảng DROP , TẠO bảng CHÈN vào Câu lệnh SQL của cơ sở dữ liệu của bạn. Để khôi phục cơ sở dữ liệu MySQL, hãy thực thi tệp * .sql trên cơ sở dữ liệu đích.

Bạn có thể sử dụng mysqldump để sao lưu một hoặc nhiều cơ sở dữ liệu. Bạn thậm chí có thể sao lưu các bảng cụ thể trong cơ sở dữ liệu.

Dưới đây là cú pháp của các lệnh để sao lưu và khôi phục cơ sở dữ liệu MySQL:

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

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

Cách sao lưu cơ sở dữ liệu MySQL

1. Sao lưu một cơ sở dữ liệu duy nhất:

Giả sử bạn muốn sao lưu cơ sở dữ liệu sample_db. Ví dụ:mật khẩu gốc của bạn là 'passwd'

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

Lệnh này sẽ sao lưu và kết xuất đầu ra của cơ sở dữ liệu trong sample_db.sql. Sales_db.sql sẽ chứa drop table, tạo bảng và chèn lệnh cho tất cả các bảng trong cơ sở dữ liệu sales_db. Sau đây là một phần đầu ra của sales_db.sql, hiển thị thông tin kết xuất:

--
-- 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. Sao lưu nhiều cơ sở dữ liệu:

Chọn cơ sở dữ liệu bạn muốn sao lưu. Đây là cách bạn có thể nhận được danh sách tất cả các cơ sở dữ liệu:

# mysql -u root -ppasswd

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

Giả sử, bạn muốn sao lưu cả cơ sở dữ liệu sample_db và sample_sales_db. Thực thi mysqldump như được hiển thị:

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

3. Sao lưu tất cả cơ sở dữ liệu:

Đây là cách bạn sao lưu tất cả cơ sở dữ liệu của phiên bản MySQL của mình.

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

4. Sao lưu một bảng cụ thể:

Giả sử chúng tôi chỉ muốn sao lưu bảng user_table từ cơ sở dữ liệu sample_db.

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

Cách khôi phục cơ sở dữ liệu MySQL

Để khôi phục cơ sở dữ liệu sample_db, hãy thực thi mysql với

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tăng tốc độ xuất và nhập mysql

  2. Cách cài đặt và cấu hình MySQL trên Ubuntu

  3. MySQL InnoDB Cluster 8.0 - Quá trình triển khai hoàn chỉnh:Phần thứ nhất

  4. Điều cần kiểm tra xem Khả năng sử dụng bộ nhớ MySQL có cao không

  5. ÁP DỤNG CROSS / OUTER trong MySQL