GIT – mysqldump là một công cụ hiệu quả cho việc Backup (sao lưu) cơ sở dữ liệu . Nó tạo ra file *.sql với các câu lệnh sql Drop table, Create table và Insert Into từ cơ sở dữ liệu (database) nguồn.

Khi restore database, sẽ thực thi file *.sql trên database cần restore (database đích).
Sử dụng mysqldump, bạn có thể sao lưu một cơ sở dữ liệu cục bộ (local database) và khôi phục lại nó trên một cơ sở dữ liệu từ xa cùng một lúc, bằng cách sử dụng một lệnh duy nhất. Trong bài viết này, chúng ta hãy xem xét một số ví dụ thực tế về cách sử dụng mysqldump để sao lưu và khôi phục lại.

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

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

Làm thế nào để Backup Database

1. Backup database gocit được quản lí bởi user root và có pass là tmppassword và tạo file backup ra file gocit.sql

# mysqldump -u root -ptmppassword gocit > gocit.sql 
# mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql

2. Backup nhiều Database: Backup 2 database bugs và gocit

# mysqldump -u root -ptmppassword --databases bugs gocit > bugs_gocit.sql

3. Backup tất cả database mà user root quản lí

# mysqldump -u root -ptmppassword --all-databases > /tmp/all-database.sql

4. Chỉ định backup 1 table cụ thể của một database: bảng accounts_contacts trong database gocit

# mysqldump -u root -ptmppassword gocit accounts_contacts > /tmp/gocit_accounts_contacts.sql

5. Các options khác:

  • –opt is a group option, which is same as –add-drop-table, –add-locks, –create-options, –quick, –extended-insert, –lock-tables, –set-charset, and –-keys. opt is enabled by default, with –skip-opt.
  • –compact is a group option, which gives less verbose output (useful for debugging). Disables structure comments and header/footer constructs. Enables options –skip-add-drop-table –no-set-names –skip-disable-keys –skip-add-locks

Restore Database

Trước tiên muốn restore dữ liệu bạn phải tạo 1 database rỗng trên database local của mình, rồi sau đó tiến hành attach hay restore lại dữ liệu.

# mysql -u root -ptmppassword 
mysql> create database gocit;
Query OK, 1 row affected (0.02 sec)

# mysql -u root -ptmppassword gocit < /tmp/gocit.sql

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

Restore tới một database từ xa:
Đây là một lựa chọn thú vị, nếu bạn muốn giữ một cơ sở dữ liệu chỉ đọc trên máy chủ từ xa, mà là một bản sao của cơ sở dữ liệu tổng thể trên máy chủ địa phương.Ví dụ dưới đây sẽ sao lưu cơ sở dữ liệu sugarịcrm trên máy chủ nội bộ và khôi phục lại nó như là gocit1 cơ sở dữ liệu trên máy chủ từ xa.

Xin lưu ý rằng trước tiên bạn cần tạo ra cơ sở dữ liệu gocit1 trên máy chủ từ xa trước khi thực hiện lệnh sau đây.

[local-server]# mysqldump -u root -ptmppassword gocit | mysql \ -u root -ptmppassword --host=remote-server -C gocit1 
[Chú ý: Có hai -- (gạch nối) trước của host remote]
Print Friendly

Comments

comments

Bài viết liên quan