Bạn có thể đơn giản sao chép các tệp bảng của cơ sở dữ liệu MySQL sang một vị trí riêng biệt và thực hiện sao lưu. Sau này, khi cần thiết, bạn chỉ cần sao chép chúng trở lại vị trí ban đầu để khôi phục cơ sở dữ liệu
Nếu bạn đang sử dụng máy chủ WAMP cho MySQL, thì bạn có thể tìm thấy các tệp bảng trong wamp > bin > mysql > mysql5. 1. 36 > dữ liệu > tên cơ sở dữ liệu. Trong đó databaseName là một thư mục có tên giống với cơ sở dữ liệu của bạn
Nếu bạn đã cài đặt MySQL theo cách thủ công, thì bạn có thể tìm thấy các tệp bảng trong Tệp chương trình > MySQL >MySQL Server 5. 0 > dữ liệu > tên cơ sở dữ liệu. Trong đó databaseName là một thư mục có tên giống với cơ sở dữ liệu của bạn
Nhớ trong mysql5. 1. 36 và máy chủ MySQL 5. 0, 5. 1. 36 và 5. 0 cho biết phiên bản của MySQL, sẽ khác nếu bạn đang làm việc trên một phiên bản MySQL khác
Sao lưu các tệp văn bản được phân tách
CHỌN * VÀO TẬP TIN NGOÀI C. \\publisher_backup. txt TỪ nhà xuất bản;
Câu lệnh MySQL ở trên sẽ sao lưu bảng nhà xuất bản vào một tệp có tên là nhà xuất bản_backup. txt nằm trong ổ C của hệ thống windows của bạn
Sử dụng câu lệnh LOAD DATA INFILE, bạn có thể khôi phục dữ liệu từ các tệp văn bản được phân tách
Sao lưu bằng mysqldump
lệnh mysqldump có thể được thực thi từ dấu nhắc mysql. Đối với tất cả mã cho các lệnh mysqldump dưới đây, cơ sở dữ liệu là tên của cơ sở dữ liệu
Sao lưu cơ sở dữ liệu
mysqldump database > backup-file.sql;
Khôi phục cơ sở dữ liệu
mysql database < backup-file.sql;
Sao chép dữ liệu từ máy chủ này sang máy chủ khác
mysqldump --opt database | mysql --host=remote_host -C database
Ở đâu remote_host chỉ ra một máy chủ từ xa nơi bạn muốn sao lưu
Kết xuất một số cơ sở dữ liệu bằng một lệnh
mysqldump --databases database1 [database2 ...] > backup_of_databases.sql
Kết xuất tất cả cơ sở dữ liệu bằng tùy chọn --all-databases
mysqldump --all-databases > backup_of_all_databases.sql
Sao lưu bằng mysqlhotcopy
lệnh mysqlhotcopy có thể được sử dụng để sao lưu các bảng MyISAM và ARCHIVE. Nó chạy trên Unix
Đối với tất cả mã cho lệnh mysqlhotcopy bên dưới, cơ sở dữ liệu là tên của cơ sở dữ liệu
mysqlhotcopy database [/path_to_new_directory]
Trong đó path_to_new_directory là thư mục sẽ thực hiện sao lưu
Lưu kết quả truy vấn MySQL vào văn bản hoặc tệp CSV
Đây là một cách dễ dàng để ghi kết quả truy vấn MySQL vào một. txt hoặc. Tệp CSV thông qua câu lệnh chọn
Bài viết cung cấp thông tin chuyên sâu về cách khôi phục cơ sở dữ liệu MySQL từ tệp sao lưu bằng tiện ích
mysql -u [user name] –p [target_database_name] < [dumpfilename.sql]
0 và các công cụ sao lưu và khôi phục của bên thứ ba, chẳng hạn như dbForge Studio cho MySQL, MySQL Workbench và phpMyAdminnội dung
Có thể xảy ra trường hợp dữ liệu bị mất hoặc bị hỏng, chẳng hạn như khi người dùng vô tình xóa hoặc ghi đè lên dữ liệu. Vì những lý do này, nên tạo bản sao lưu thường xuyên. Thông qua quy trình này, bạn có thể đảm bảo tính nhất quán của dữ liệu trong cơ sở dữ liệu của mình và đảm bảo rằng không có điều gì nghiêm trọng xảy ra với dữ liệu của bạn và dữ liệu sẽ không bị mất vĩnh viễn. Ngoài ra, sao lưu dữ liệu giúp dữ liệu luôn cập nhật và cho phép bạn khôi phục dữ liệu bất kỳ lúc nào ở trạng thái bạn sao lưu dữ liệu trước khi dữ liệu bị hỏng
MySQL tạo nhiều tệp được sử dụng để sao lưu dữ liệu, cấu trúc và chỉ mục của cơ sở dữ liệu MySQL. Một số trong số họ bao gồm những điều sau đây
- Của tôi. cnf tệp lưu trữ cài đặt cấu hình MySQL
- tệp frm lưu trữ lược đồ và định nghĩa của bảng
- [chỉ dành cho công cụ MyISAM]. tệp myd lưu trữ dữ liệu bảng
- [chỉ dành cho công cụ MyISAM]. myi tệp lưu trữ các chỉ mục của bảng
- [chỉ dành cho công cụ InnoDB]. Tệp ibd lưu trữ dữ liệu bảng và chỉ mục
Vì vậy, để tránh mất dữ liệu, không nên xóa các tệp nêu trên
Sử dụng lệnh mysql để khôi phục cơ sở dữ liệu từ dòng lệnh
Trong MySQL, bạn có thể sử dụng lệnh
mysql -u [user name] –p [target_database_name] < [dumpfilename.sql]
1 để khôi phục cơ sở dữ liệu từ tệp kết xuấtmysqldump là tiện ích dòng lệnh dùng để tạo bản sao lưu cơ sở dữ liệu logic MySQL dưới dạng một. tệp sql với một tập hợp các câu lệnh SQL. Tiện ích giúp bạn kết xuất các bảng MySQL, nhiều cơ sở dữ liệu hoặc các đối tượng của chúng. Hãy nhớ rằng không thể sao lưu cơ sở dữ liệu MySQL hoặc dữ liệu để tách. sql với tiện ích mysqldump. Để biết thêm thông tin về cách sao lưu dữ liệu và cơ sở dữ liệu MySQL, hãy xem Các cách khác nhau để sao lưu bảng và cơ sở dữ liệu MySQL
Bên cạnh đó, bạn phải có quyền truy cập vào máy chủ MySQL đang chạy để sử dụng các lệnh mysqldump và mysql
Bây giờ, đã đến lúc xem cách khôi phục cơ sở dữ liệu MySQL. Trước tiên, bạn cần tạo một cơ sở dữ liệu MySQL trống và sau đó khôi phục tệp kết xuất MySQL
Bước 1. Tạo cơ sở dữ liệu
Trong dấu nhắc lệnh, hãy kết nối với máy chủ MySQL mà bạn muốn tạo cơ sở dữ liệu và chạy lệnh
mysql -u [user name] –p [target_database_name] < [dumpfilename.sql]
1Ghi chú. Tên cơ sở dữ liệu phải giống với cơ sở dữ liệu bạn muốn khôi phục
mysql> create database sakila;
Điều này sẽ tạo cơ sở dữ liệu mà bạn sẽ có thể nhập cấu trúc cơ sở dữ liệu và dữ liệu từ tệp kết xuất
Bước 2. Khôi phục cơ sở dữ liệu
Bây giờ, chúng ta có thể khôi phục cơ sở dữ liệu MySQL từ tệp kết xuất. Cú pháp của lệnh như sau
mysql -u [user name] –p [target_database_name] < [dumpfilename.sql]
Các thông số bao gồm
3mysql -u [user name] –p [target_database_name] < [dumpfilename.sql]
4là tên người dùng để kết nối với máy chủ MySQLmysql -u [user name] –p [target_database_name] < [dumpfilename.sql]
5 là mật khẩu cho tên người dùng bạn sử dụng để kết nối với máy chủmysql -u [user name] –p [target_database_name] < [dumpfilename.sql]
6 là tên của cơ sở dữ liệu trống mà bạn muốn tải dữ liệu từ tệp sao lưu vàomysql -u [user name] –p [target_database_name] < [dumpfilename.sql]
7 là một tham số đề cập đến quá trình khôi phục cơ sở dữ liệumysql -u [user name] –p [target_database_name] < [dumpfilename.sql]
8 là đường dẫn đến tệp kết xuấtmysql -u [user name] –p [target_database_name] < [dumpfilename.sql]
Do đó, để khôi phục cơ sở dữ liệu sakila, hãy thực hiện lệnh sau
mysql --host=dbfmylast --user=root --port=3306 -p sakila < D:\sakila.sql
trong đó
mysql -u [user name] –p [target_database_name] < [dumpfilename.sql]
9 là máy chủ đích có cơ sở dữ liệu trống mà chúng tôi sẽ tải dữ liệu từ sakila vào. tập tin kết xuất sqlĐể kiểm tra kết quả, hãy chạy như sau
mysql> use sakila;
...
mysql> show tables;
Ở đầu ra, bạn sẽ thấy danh sách các bảng nằm trong cơ sở dữ liệu sakila
Khôi phục tất cả cơ sở dữ liệu trong MySQL từ tệp kết xuất bằng mysqldump
Với tiện ích mysqldump, bạn có thể khôi phục hàng loạt không chỉ một cơ sở dữ liệu mà tất cả các cơ sở dữ liệu trên máy chủ
Cú pháp khôi phục tất cả cơ sở dữ liệu MySQL từ tệp kết xuất như sau
mysql -u root -p < alldatabases.sql
trong đó
mysql --host=dbfmylast --user=root --port=3306 -p sakila < D:\sakila.sql
0 là đường dẫn đến tệp kết xuất chứa bản sao lưu của tất cả cơ sở dữ liệu trên máy chủVí dụ: chúng tôi sẽ khôi phục tất cả cơ sở dữ liệu MySQL từ tệp kết xuất
mysql --host=dbfmylast --user=root --port=3306 -p sakila < D:\sakila.sql
1. Đối với điều này, chúng tôi đang chạy lệnh saumysql -u root -p < D:\backup_all_databases.sql
Sử dụng mysqldump để khôi phục một bảng từ tệp kết xuất
Trong một số trường hợp, có thể phải khôi phục một bảng MySQL cụ thể từ cơ sở dữ liệu – khi ai đó làm rơi bảng hoặc ghi đè lên dữ liệu của nó
Đối với mục đích minh họa, hãy tạo một bản sao lưu của bảng working_hours từ cơ sở dữ liệu sakila bằng cách thực hiện lệnh
mysql -u [user name] –p [target_database_name] < [dumpfilename.sql]
0. Tệp mysql --host=dbfmylast --user=root --port=3306 -p sakila < D:\sakila.sql
3 là tệp đầu ra sẽ chứa bản sao lưu của bảngmysqldump --host=dbfmylast --user=root --port=3306 -p sakila working_hours > D:\backup_working_hours_table.sql
Sau khi sao lưu được tạo, hãy bỏ bảng working_hours bằng câu lệnh DROP TABLE
mysql> drop table working_hours;
Xác minh rằng bảng đã bị xóa khỏi cơ sở dữ liệu sakila
mysql> use sakila;
...
mysql> show tables;
Lệnh liệt kê các bảng MySQL có trong cơ sở dữ liệu. Như bạn có thể thấy, không có bảng working_hours
Bây giờ, khôi phục bản sao lưu của bảng working_hours vào cơ sở dữ liệu sakila bằng cách thực hiện lệnh
mysql -u [user name] –p [target_database_name] < [dumpfilename.sql]
1mysql --host=dbfmylast --user=root --port=3306 -p sakila < D:\backup_working_hours_table.sql
Bảng sẽ được nhập vào cơ sở dữ liệu sakila
Khôi phục cơ sở dữ liệu MySQL từ. tệp sql bằng Workbench
Phần này giải thích cách khôi phục cơ sở dữ liệu MySQL từ. sql bằng công cụ MySQL Workbench. Trước khi khôi phục cơ sở dữ liệu, hãy tạo một cơ sở dữ liệu trống trên máy chủ mà bạn muốn kết nối
Mở MySQL Workbench và nhấp vào Nhập/Khôi phục dữ liệu trong Bộ điều hướng
Trong tài liệu Quản trị – Nhập/Khôi phục Dữ liệu, chọn Nhập từ Tệp Tự chứa và duyệt tìm. tệp sql chứa bản sao lưu của cơ sở dữ liệu sakila. Sau đó, bên dưới Lược đồ mặc định được nhập vào, hãy chọn cơ sở dữ liệu đích mà bản sao lưu của cơ sở dữ liệu nguồn cùng với cấu trúc và dữ liệu của nó sẽ được tải vào đó
Ở cuối tài liệu, chọn Dump Structure and Data từ danh sách thả xuống để khôi phục cấu trúc cơ sở dữ liệu và dữ liệu
Khi tất cả các tham số được thiết lập, hãy chuyển sang tab Tiến trình nhập và nhấp vào Bắt đầu nhập. Sau khi nhập xong, bạn có thể đóng công cụ
Khôi phục cơ sở dữ liệu trong MySQL bằng phpMyAdmin
Nếu bạn đã quen làm việc với phpMyAdmin, bạn có thể dễ dàng khôi phục bảng đã xóa hoặc sao chép cơ sở dữ liệu MySQL sang máy chủ khác
Để sao lưu và khôi phục cơ sở dữ liệu MySQL, bạn cần sử dụng các công cụ Xuất và Nhập tương ứng
Để khôi phục cơ sở dữ liệu MySQL, hãy mở phpMyAdmin và tạo một cơ sở dữ liệu trống mà cơ sở dữ liệu sẽ được xuất sang. Đối với điều này, hãy chuyển sang tab Cơ sở dữ liệu, nhập tên cơ sở dữ liệu, chọn đối chiếu giống như trong cơ sở dữ liệu sao lưu và nhấp vào Tạo
Cơ sở dữ liệu sẽ xuất hiện trong bảng Điều hướng. Sau đó, nhấp vào menu hamburger và chọn Nhập
Trên trang Nhập vào cơ sở dữ liệu “sakila”, bên dưới Tệp để nhập. , click Choose File để chọn file backup cơ sở dữ liệu. Ở cuối trang, nhấp vào Đi để bắt đầu khôi phục cơ sở dữ liệu
Sau khi hoàn thành, cơ sở dữ liệu sakila sẽ được phổ biến với các bảng MySQL và các đối tượng cơ sở dữ liệu khác
Sao lưu và khôi phục cơ sở dữ liệu MySQL Dễ dàng với dbForge for MySQL
Trong các phần trước, chúng ta đã xem xét cách khôi phục cơ sở dữ liệu MySQL bằng dòng lệnh, MySQL Workbench và phpMyAdmin. Bây giờ, đã đến lúc thực hiện quy trình khôi phục cơ sở dữ liệu từng bước với dbForge Studio cho MySQL. Đây là công cụ quản lý, phát triển và quản lý cơ sở dữ liệu MySQL và MariaDB cho phép bạn thực hiện nhiều tác vụ trong một IDE nhờ các tính năng và khả năng tiên tiến của nó
dbForge Studio dành cho MySQL cung cấp công cụ sao lưu MySQL tích hợp để sao lưu và khôi phục cơ sở dữ liệu MySQL bằng các tính năng tự động của nó một cách dễ dàng và nhanh chóng
Sao lưu cơ sở dữ liệu
Để sao lưu cơ sở dữ liệu MySQL, hãy mở dbForge Studio cho MySQL và kết nối với máy chủ mà bạn sẽ tạo bản sao lưu cơ sở dữ liệu trên đó. Trong Database Explorer, kích chuột phải vào cơ sở dữ liệu và chọn Backup and Restore > Backup Database
Trong Trình hướng dẫn sao lưu cơ sở dữ liệu, chọn cơ sở dữ liệu, chỉ định đường dẫn đến tệp sao lưu và nhập tên của tệp đầu ra
Sau đó, chuyển sang trang Nội dung sao lưu để chọn các đối tượng cấu trúc, dữ liệu và cơ sở dữ liệu cần sao lưu
Nếu bạn muốn đặt các tùy chọn bổ sung hoặc định cấu hình hành vi xử lý lỗi, hãy chuyển sang các trang tương ứng trong trình hướng dẫn. Để bắt đầu sao lưu cơ sở dữ liệu, hãy nhấp vào Sao lưu. Sau khi sao lưu hoàn tất, thông báo tương ứng sẽ hiển thị và bạn có thể đóng trình hướng dẫn
Ngoài ra, bạn có thể lên lịch sao lưu MySQL hàng ngày thông qua dòng lệnh. Điều này sẽ giúp bạn tự động hóa các hoạt động hàng ngày của mình và do đó, tiết kiệm thời gian và tăng năng suất
Khôi phục cơ sở dữ liệu
Để khôi phục cơ sở dữ liệu, trước tiên, bạn cần tạo một cơ sở dữ liệu trống để nhập cơ sở dữ liệu sao lưu vào đó. Đối với điều này, nhấp chuột phải vào kết nối mà bạn sẽ khôi phục bản sao lưu cơ sở dữ liệu và chọn Cơ sở dữ liệu mới. Trong tài liệu mở ra, hãy nhập tên của cơ sở dữ liệu, đặt các tùy chọn bộ ký tự và đối chiếu, rồi lưu các thay đổi
Trong Database Explorer, nhấp chuột phải vào kết nối máy chủ mà bạn muốn khôi phục cơ sở dữ liệu và chọn Sao lưu và khôi phục > Khôi phục cơ sở dữ liệu
Trong Trình hướng dẫn khôi phục cơ sở dữ liệu, chọn tệp sao lưu và nhấp vào Khôi phục. Nếu bạn định tải cơ sở dữ liệu vào cơ sở dữ liệu đích bằng một tên đặc biệt, hãy nhập tên của nó vào trường Cơ sở dữ liệu
Kết quả là bạn đã khôi phục cơ sở dữ liệu MySQL mà không có bất kỳ lỗi nào. Để đóng trình hướng dẫn, hãy nhấp vào Kết thúc
Sau đó, làm mới Database Explorer để kiểm tra xem cơ sở dữ liệu đã được khôi phục chưa
Phần kết luận
Trong bài viết này, chúng tôi đã cung cấp các quy trình từng bước về cách khôi phục cơ sở dữ liệu và bảng MySQL bằng dòng lệnh, MySQL Workbench, phpMyAdmin và dbForge Studio cho MySQL
Với dbForge Studio dành cho MySQL, bạn có thể tăng gấp đôi năng suất của mình và đưa trải nghiệm người dùng của bạn lên một tầm cao mới, mức tốt nhất. Sau khi dùng thử công cụ dbForge Studio dành cho MySQL hàng đầu này, bạn sẽ không muốn quay lại các công cụ tương tự khác nữa
Tải xuống và cài đặt phiên bản dùng thử miễn phí 30 ngày để đánh giá các tính năng của dbForge Studio dành cho MySQL. Sau khi nó hết hạn, hãy xem xét việc mua giấy phép đầy đủ của công cụ để cải thiện năng suất của bạn trong quá trình sao lưu/khôi phục cơ sở dữ liệu MySQL cũng như các hoạt động quản lý và phát triển cơ sở dữ liệu khác. Ngoài ra, bạn có thể xem video hướng dẫn này