Hướng dẫn how do i run a backup in mysql? - làm cách nào để chạy một bản sao lưu trong mysql?

Trong bài viết này, tôi sẽ giải thích các cách khác nhau để tạo bản sao lưu trong máy chủ cơ sở dữ liệu MySQL. Như chúng ta đã biết, dữ liệu là một tài sản có giá trị cho tổ chức. Là quản trị viên cơ sở dữ liệu, đó là công việc chính và quan trọng của chúng tôi để giữ dữ liệu có sẵn và an toàn. Nếu hệ thống hoặc trung tâm dữ liệu không thành công, tham nhũng cơ sở dữ liệu và mất dữ liệu, chúng ta phải có thể khôi phục nó trong SLA đã xác định.

Các nền tảng cơ sở dữ liệu khác nhau cung cấp các phương pháp khác nhau để tạo bản sao lưu và khôi phục cơ sở dữ liệu. Nhiều nhà cung cấp cung cấp các giải pháp phần mềm và phần cứng tiên tiến có thể giúp sao lưu cơ sở dữ liệu và nó có thể khôi phục cơ sở dữ liệu trong RTO và RPO được xác định.

Ở đây, chúng tôi sẽ không thảo luận về bất kỳ giải pháp sao lưu của nhà cung cấp bên thứ ba nào. Tôi sẽ giải thích các phương thức gốc được sử dụng để tạo bản sao lưu của cơ sở dữ liệu. Chúng tôi có thể tạo bản sao lưu của cơ sở dữ liệu MySQL bằng bất kỳ phương pháp nào sau đây:

  1. Tạo bản sao lưu bằng tiện ích mysqldumpmysqldump utility
  2. Tạo các bản sao lưu gia tăng bằng nhật ký nhị phân
  3. Tạo các bản sao lưu bằng cách nhân rộng Slaves

Trong bài viết này, tôi sẽ giải thích làm thế nào chúng ta có thể sử dụng mysqldump để tạo bản sao lưu của cơ sở dữ liệu MySQL.mysqldump to generate the backup of the MySQL database.

Tạo sao lưu bằng tiện ích MySQLDump

MySQLDump là một tiện ích dòng lệnh được sử dụng để tạo bản sao lưu logic của cơ sở dữ liệu MySQL. Nó tạo ra các câu lệnh SQL có thể được sử dụng để tạo lại các đối tượng và dữ liệu cơ sở dữ liệu. Lệnh cũng có thể được sử dụng để tạo đầu ra trong XML, văn bản phân định hoặc định dạng CSV.

Lệnh này rất dễ sử dụng, nhưng vấn đề duy nhất xảy ra trong khi khôi phục cơ sở dữ liệu. Như tôi đã đề cập, khi chúng tôi tạo bản sao lưu của cơ sở dữ liệu MySQL, nó sẽ tạo một tệp sao lưu chứa các lệnh SQL cần thiết để xây dựng lại hoặc khôi phục cơ sở dữ liệu. Bây giờ, khi chúng tôi khôi phục cơ sở dữ liệu, lệnh thực hiện tất cả các câu lệnh SQL để tạo bảng và chèn dữ liệu. Nếu bạn có một cơ sở dữ liệu lớn, thì quá trình phục hồi mất nhiều thời gian để hoàn thành.

LƯU Ý: Theo mặc định, lệnh mysqldump không bỏ cơ sở dữ liệu thông tin_schema, hiệu suất_schema và cơ sở dữ liệu NDBInfo của MySQL Cluster. By default, mysqldump command does not dump the information_schema database, performance_schema, and MySQL Cluster ndbinfo database.

Nếu bạn muốn bao gồm các bảng thông tin_schema, bạn phải chỉ định rõ ràng tên của cơ sở dữ liệu trong lệnh mysqldump, cũng bao gồm tùy chọn bảng Lockskip-lock.information_schema tables, you must explicitly specify the name of the database in the mysqldump command, also include the —skip-lock-tables option.

Có rất nhiều tùy chọn và tính năng có thể được sử dụng với MySQLDump. Bạn có thể xem danh sách đầy đủ các tùy chọn ở đây. Tôi sẽ đến một số tính năng cơ bản. Sau đây là cú pháp của tiện ích MySQLDump.mysqldump. You can view the complete list of options here. I am going to some of the basic features. Following is the syntax of the mysqldump utility.

mysqldump-u [Tên người dùng] MạnhP [Mật khẩu] [Tùy chọn] [Database_Name] [TableName]> [DumpFileName.SQL]-u[user name]p[password][options][database_name][tablename]> [dumpfilename.sql]

Các tham số như sau:

  1. -u [user_name]: Đó là tên người dùng để kết nối với máy chủ MySQL. Để tạo bản sao lưu bằng MySQLDUMP, ‘Chọn‘ Để đổ các bảng, ‘Hiển thị chế độ xem‘ để xem, ‘Trigger cho các kích hoạt. Nếu bạn không sử dụng tùy chọn It is a username to connect to the MySQL server. To generate the backup using mysqldump, ‘Select‘ to dump the tables, ‘Show View‘ for views, ‘Trigger‘ for the triggers. If you are not using —single-transaction option, then ‘Lock Tables‘ privileges must be granted to the user
  2. -P [Mật khẩu]: Mật khẩu hợp lệ của người dùng MySQL The valid password of the MySQL user
  3. [Tùy chọn]: Tùy chọn cấu hình để tùy chỉnh bản sao lưu The configuration option to customize the backup
  4. [Tên cơ sở dữ liệu]: Tên của cơ sở dữ liệu mà bạn muốn sao lưu Name of the database that you want to take backup
  5. [Tên bảng]: Đây là một tham số tùy chọn. Nếu bạn muốn lấy các bảng cụ thể sao lưu, thì bạn có thể chỉ định tên trong lệnh This is an optional parameter. If you want to take the backup specific tables, then you can specify the names in the command
  6. Triệu: Nhân vật này cho biết liệu chúng ta đang tạo bản sao lưu của cơ sở dữ liệu hay khôi phục cơ sở dữ liệu. Bạn có thể sử dụng “>” để tạo bản sao lưu và " This character indicates whether we are generating the backup of the database or restoring the database. You can use “>” to generate the backup and “<” to restore the backup
  7. [dumpfilename.sql]: đường dẫn và tên của tệp sao lưu. Như tôi đã đề cập, chúng tôi có thể tạo bản sao lưu trong XML, văn bản được phân định hoặc tệp SQL để chúng tôi có thể cung cấp phần mở rộng của tệp phù hợp Path and name of the backup file. As I mentioned, we can generate the backup in XML, delimited text, or SQL file so we can provide the extension of the file accordingly

Tạo bản sao lưu của một cơ sở dữ liệu duy nhất

Ví dụ: bạn muốn tạo bản sao lưu của cơ sở dữ liệu đơn, chạy lệnh sau. Lệnh sẽ tạo bản sao lưu của cơ sở dữ liệu Sak Saka với cấu trúc và dữ liệu trong tệp sakila_20200424.sql.sakila” database with structure and data in the sakila_20200424.sql file.

mysqldump-uroot-psakila> c: \ mysqlbackup \ sakila_20200424.sql-uroot-psakila>C:\MySQLBackup\sakila_20200424.sql

Khi bạn chạy lệnh này, nó sẽ nhắc mật khẩu. Cung cấp mật khẩu thích hợp. Xem hình ảnh sau:

Hướng dẫn how do i run a backup in mysql? - làm cách nào để chạy một bản sao lưu trong mysql?

Sau khi sao lưu được tạo thành công, chúng ta hãy mở tệp sao lưu để xem nội dung của tệp sao lưu. Mở vị trí sao lưu và nhấp đúp vào tệp SKILA_20200424.SQL.sakila_20200424.sql” file.

Hướng dẫn how do i run a backup in mysql? - làm cách nào để chạy một bản sao lưu trong mysql?

Như bạn có thể thấy trong hình ảnh trên, tệp sao lưu chứa các câu lệnh T-SQL khác nhau có thể được sử dụng để tạo lại các đối tượng.

Tạo bản sao lưu của nhiều cơ sở dữ liệu hoặc tất cả các cơ sở dữ liệu

Ví dụ: bạn muốn tạo bản sao lưu của nhiều hơn một cơ sở dữ liệu. Bạn phải thêm tùy chọnSdatabase trong lệnh mysqldump. Lệnh sau đây sẽ tạo ra bản sao lưu của cơ sở dữ liệu của SK Sakila, và nhân viên với cấu trúc và dữ liệu.—databases option in the mysqldump command. The following command will generate the backup of “sakila” and “employees” database with structure and data.

mysqldump-urot-p-cơ sở dữ liệu Sakila nhân viên> C: \ mysqlbackup \ sakila_employees_20200424.sql-uroot-p--databases sakila employees>C:\MySQLBackup\sakila_employees_20200424.sql

Xem hình ảnh sau:

Hướng dẫn how do i run a backup in mysql? - làm cách nào để chạy một bản sao lưu trong mysql?

Tương tự, nếu bạn muốn tạo bản sao lưu của tất cả các cơ sở dữ liệu, bạn phải sử dụng tùy chọn cơ sở dữ liệu dữ liệu trong lệnh mysqldump. Lệnh sau đây sẽ tạo sao lưu của tất cả các cơ sở dữ liệu trong máy chủ MySQL.–all-databases option in the mysqldump command. The following command will generate the backup of all databases within MySQL Server.

mysqldump-uroot-p-các cơ sở dữ liệu tất cả> c: \ mysqlbackup \ all_database_20200424-uroot-p--all-databases>C:\MySQLBackup\all_databases_20200424.sql

Xem hình ảnh sau:

Hướng dẫn how do i run a backup in mysql? - làm cách nào để chạy một bản sao lưu trong mysql?

Tương tự, nếu bạn muốn tạo bản sao lưu của tất cả các cơ sở dữ liệu, bạn phải sử dụng tùy chọn cơ sở dữ liệu dữ liệu trong lệnh mysqldump. Lệnh sau đây sẽ tạo sao lưu của tất cả các cơ sở dữ liệu trong máy chủ MySQL.

mysqldump-uroot-p-các cơ sở dữ liệu tất cả> c: \ mysqlbackup \ all_database_20200424–no-dataoption in the mysqldump command. The following command generates the backup of the database structure of the sakila database.

Tạo bản sao lưu cấu trúc cơ sở dữ liệu-uroot-p--no-data sakila>C:\MySQLBackup\sakila_objects_definition_20200424.sql

Xem hình ảnh sau:

Hướng dẫn how do i run a backup in mysql? - làm cách nào để chạy một bản sao lưu trong mysql?

Tương tự, nếu bạn muốn tạo bản sao lưu của tất cả các cơ sở dữ liệu, bạn phải sử dụng tùy chọn cơ sở dữ liệu dữ liệu trong lệnh mysqldump. Lệnh sau đây sẽ tạo sao lưu của tất cả các cơ sở dữ liệu trong máy chủ MySQL.

mysqldump-uroot-p-các cơ sở dữ liệu tất cả> c: \ mysqlbackup \ all_database_20200424actor table of the sakila database.

Tạo bản sao lưu cấu trúc cơ sở dữ liệu-uroot-psakila actor payment>C:\MySQLBackup\actor_payment_table_20200424.sql

Nếu bạn muốn tạo bản sao lưu của cấu trúc cơ sở dữ liệu, thì bạn phải sử dụng dữ liệu của không trong lệnh mysqldump. Lệnh sau đây tạo ra bản sao lưu của cấu trúc cơ sở dữ liệu của cơ sở dữ liệu Sakila.actor and payment table of sakila database.

Hướng dẫn how do i run a backup in mysql? - làm cách nào để chạy một bản sao lưu trong mysql?

mysqldump-uroot-p-không data sakila> c: \ mysqlbackup \ sakila_objects_definition_20200424.sql

Tạo bản sao lưu của một bảng cụ thể–no-create-infooption in the mysqldump command. The following command generates the backup of data of the sakila database.

Nếu bạn muốn tạo bản sao lưu của một bảng cụ thể, thì bạn phải chỉ định tên của các bảng theo tên của cơ sở dữ liệu. Lệnh sau đây tạo ra bản sao lưu của bảng diễn viên của cơ sở dữ liệu Sakila.-uroot-psakila--no-create-info>C:\MySQLBackup\sakila_data_only_20200424.sql

Xem hình ảnh sau:

Hướng dẫn how do i run a backup in mysql? - làm cách nào để chạy một bản sao lưu trong mysql?

MYSQLDUMP-UROOT-PSAKILA Actor Thanh toán> C: \ mysqlbackup \ actor_payment_table_20200424.sql

Hướng dẫn how do i run a backup in mysql? - làm cách nào để chạy một bản sao lưu trong mysql?

Nếu bạn muốn tạo bản sao lưu của nhiều hơn một bảng, thì bạn phải phân tách tên của các bảng có khoảng trống, lệnh sau sẽ tạo bản sao lưu của diễn viên và bảng thanh toán của cơ sở dữ liệu Sakila.

Tạo bản sao lưu dữ liệu cơ sở dữ liệu

Nếu bạn muốn tạo bản sao lưu của dữ liệu mà không có cấu trúc cơ sở dữ liệu, thì bạn phải sử dụng Infooption Create-Create-Infooption trong lệnh MySQLDump. Lệnh sau đây tạo ra bản sao lưu dữ liệu của cơ sở dữ liệu Sakila.mysqldump is simple. To restore the database, you must create an empty database. First, let us drop and recreate the sakila database by executing the following command.

mysqldump-uroot-psakila-không phải là create-info> c: \ mysqlbackup \ sakila_data_only_20200424.sql>drop database sakila;

Hãy để chúng tôi xem nội dung của tệp sao lưu.OK,24rows affected(0.35sec)

Như bạn có thể thấy trong ảnh chụp màn hình ở trên, tệp sao lưu chứa các câu lệnh T-SQL khác nhau có thể được sử dụng để chèn dữ liệu vào các bảng.>create database sakila;

Khôi phục cơ sở dữ liệu MySQLOK,1row affected(0.01sec)

MySQL>>

Khôi phục cơ sở dữ liệu MySQL sử dụng MySQLDump rất đơn giản. Để khôi phục cơ sở dữ liệu, bạn phải tạo một cơ sở dữ liệu trống. Đầu tiên, chúng ta hãy bỏ và tái tạo cơ sở dữ liệu Sakila bằng cách thực hiện lệnh sau.mysqldump, you must use mysql; otherwise, the mysqldump will not generate the schema and the data. Execute the following command to restore the sakila database:

mysql-uroot-psakila-uroot-psakila<C:\MySQLBackup\sakila_20200424.sql

mysql> drop cơ sở dữ liệu sakila;sakila database.

Truy vấn OK, 24Rows bị ảnh hưởng (0,35 giây)
Database changed
mysql> show tables;

Xem hình ảnh sau:

Hướng dẫn how do i run a backup in mysql? - làm cách nào để chạy một bản sao lưu trong mysql?

mysql> tạo cơ sở dữ liệu sakila;

Truy vấn OK, 1ROW bị ảnh hưởng (0,01 giây)actor table from the sakila database by executing the following command on the MySQL command-line tool.

mysql>usesakila;>usesakila;

Khi bạn khôi phục cơ sở dữ liệu, thay vì sử dụng mysqldump, bạn phải sử dụng mysql; Mặt khác, MySQLDump sẽ không tạo ra lược đồ và dữ liệu. Thực hiện lệnh sau để khôi phục cơ sở dữ liệu Sakila:changed

Khi lệnh thực thi thành công, thực thi lệnh sau để xác minh rằng tất cả các đối tượng đã được tạo trên cơ sở dữ liệu Sakila.>drop table actor;

mysql> sử dụng sakila; Cơ sở dữ liệu đã thay đổi MySQL> Hiển thị bảng;

Khôi phục một bảng cụ thể trong cơ sở dữ liệu

Chẳng hạn, ai đó đã bỏ một bảng từ cơ sở dữ liệu. Thay vì khôi phục toàn bộ cơ sở dữ liệu, chúng tôi có thể khôi phục bảng bị rơi từ bản sao lưu có sẵn. Để chứng minh, hãy thả bảng diễn viên từ cơ sở dữ liệu Sakila bằng cách thực thi lệnh sau trên công cụ dòng lệnh MySQL.sakila_dummy and restore the backup of the sakila database on it. Following is the command.

Cơ sở dữ liệu đã thay đổi>create database sakila_dummy;

mysql>usesakila_dummy;>usesakila_dummy;

MySQL> Drop Table Actor;>sourceC:\MySQLBackup\sakila_20200424.sql

Để khôi phục bảng diễn viên, hãy thực hiện quy trình từng bước sau.

Bước 1 :actor table to sakila_dummy_actor_20200424.sql file. Following is the command

Tạo một cơ sở dữ liệu giả có tên Sakila_dummy và khôi phục bản sao lưu của cơ sở dữ liệu Sakila trên đó. Sau đây là lệnh.:\Users\Nisarg>mysqldump-uroot-psakila_dummy actor> C:\MySQLBackup\sakila_dummy_actor_20200424.sql

mysql> tạo cơ sở dữ liệu sakila_dummy;

mysql> Sourcec: \ mysqlbackup \ sakila_20200424.sqlsakila_dummy_actor_20200424.sql” file. Following is the command on the MySQL command-line tool.

Bước 2:>sourceC:\MySQLBackup\sakila_dummy_actor_20200424.sql

Sao lưu Bảng diễn viên lên Sakila_dummy_actor_20200424.SQL. Sau đây là lệnh

mysql>usesakila;>usesakila;

Khi bạn khôi phục cơ sở dữ liệu, thay vì sử dụng mysqldump, bạn phải sử dụng mysql; Mặt khác, MySQLDump sẽ không tạo ra lược đồ và dữ liệu. Thực hiện lệnh sau để khôi phục cơ sở dữ liệu Sakila:changed

Khi lệnh thực thi thành công, thực thi lệnh sau để xác minh rằng tất cả các đối tượng đã được tạo trên cơ sở dữ liệu Sakila.>show tables;

Xem hình ảnh sau:

Hướng dẫn how do i run a backup in mysql? - làm cách nào để chạy một bản sao lưu trong mysql?

mysql> sử dụng sakila; Cơ sở dữ liệu đã thay đổi MySQL> Hiển thị bảng;

Khôi phục một bảng cụ thể trong cơ sở dữ liệumysqldump command-line utility to generate the following:

  1. Chẳng hạn, ai đó đã bỏ một bảng từ cơ sở dữ liệu. Thay vì khôi phục toàn bộ cơ sở dữ liệu, chúng tôi có thể khôi phục bảng bị rơi từ bản sao lưu có sẵn. Để chứng minh, hãy thả bảng diễn viên từ cơ sở dữ liệu Sakila bằng cách thực thi lệnh sau trên công cụ dòng lệnh MySQL.
  2. Cơ sở dữ liệu đã thay đổi

  • MySQL> Drop Table Actor;
  • Để khôi phục bảng diễn viên, hãy thực hiện quy trình từng bước sau.

Hướng dẫn how do i run a backup in mysql? - làm cách nào để chạy một bản sao lưu trong mysql?

Bước 1 :

Tạo một cơ sở dữ liệu giả có tên Sakila_dummy và khôi phục bản sao lưu của cơ sở dữ liệu Sakila trên đó. Sau đây là lệnh.

Hướng dẫn how do i run a backup in mysql? - làm cách nào để chạy một bản sao lưu trong mysql?

Làm cách nào để chạy sao lưu SQL?

Để sao lưu cơ sở dữ liệu của bạn, hãy làm theo các bước sau:..
Khởi chạy SQL Server Management Studio (SSMS) và kết nối với phiên bản SQL Server của bạn ..
Mở rộng nút cơ sở dữ liệu trong Object Explorer ..
Nhấp chuột phải vào cơ sở dữ liệu, di chuột qua các tác vụ và chọn sao lưu .....
Theo đích, xác nhận rằng đường dẫn cho bản sao lưu của bạn là chính xác ..

Làm cách nào để truy cập sao lưu MySQL?

Sao lưu từ dòng lệnh với mysqldump ..
Cách khôi phục MySQL với mysqldump.Bước 1: Tạo cơ sở dữ liệu mới.Bước 2: Khôi phục kết xuất MySQL ..
Sử dụng phpmyadmin để sao lưu hoặc khôi phục mysql.Bước 1: Tạo bản sao lưu cơ sở dữ liệu MySQL.Bước 2: Xóa thông tin cơ sở dữ liệu cũ.Bước 3: Khôi phục cơ sở dữ liệu MySQL được sao lưu của bạn ..

Làm cách nào để sao lưu và khôi phục dữ liệu trong MySQL?

Bạn có thể sao lưu và khôi phục cơ sở dữ liệu MySQL bằng MySQLDump thông qua dòng lệnh hoặc phpmyadmin ...
Khôi phục cơ sở dữ liệu MySQL.....
Khôi phục một cơ sở dữ liệu MySQL duy nhất từ tệp kết xuất MySQL đầy đủ.....
Xuất và nhập cơ sở dữ liệu MySQL trong một lệnh ..

Sao lưu MySQL hoạt động như thế nào?

MySQL hỗ trợ các bản sao lưu gia tăng bằng nhật ký nhị phân.Các tệp nhật ký nhị phân cung cấp cho bạn thông tin bạn cần sao chép các thay đổi cho cơ sở dữ liệu được thực hiện sau điểm mà bạn thực hiện sao lưu.incremental backups using the binary log. The binary log files provide you with the information you need to replicate changes to the database that are made subsequent to the point at which you performed a backup.