Các lệnh backup và restore MySQL Database dành cho DBA

Trong bài này mình sẽ giới thiệu các lệnh dùng để backup và restore MySQL Database dành cho Database Administration, phương pháp này chỉ dành cho những chuyên viên DBA.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Trong Linux, để backup MySQL thì chúng ta sử dụng lệnh mysqldump, còn để restore thì sử dụng lệnh mysqlimport. Đây là hai lệnh sử dụng rất nhiều trong việc quản lý MySQL.

I. Cách backup MySQL Database

mysqldump là một ứng dụng command line, nó được sử dụng để tạo ra file backup database ở local hoặc thông qua remote, kết quả của lệnh này là sẽ trả về một file db ở dạng SQL duy nhất.

Để backup với lệnh mysqldump thì điều kiện là database cần backup phải tồn tại trên server, và tài khoản bạn đang đăng nhập vào có quyền truy xuất vào database đó. Tất cả thông tin sẽ được nhập vào lệnh mysqldump qua cú pháp sau.

Bài viết này được đăng tại [free tuts .net]

# mysqldump -u [username] –p[password] [database_name] > [dump_file.sql]

Trong đó:

  • [username] là tên đăng nhập vào MySQL có quyền truy xuất đến database
  • [password] là mật khẩu của username
  • [database_name] là tên của database cần backup
  • [dump_file.sql] là tên file backup được lưu lại. Bạn sẽ tải file này về máy tính của mình để sau này phục hồi lại.

1. Backup một database duy nhất

Để backup một database thì ta sử dụng cú pháp sau.

# mysqldump -u root -ptecmint rsyslog > rsyslog.sql

Trong lệnh này thì database cần backup là rsyslog, và file sau khi backup là rsyslog.sql.

2. Backup nhiều database cùng lúc

Nếu muốn backup nhiều database vào một file duy nhất thì bạn hãy nhập tên database cách nhau bởi khoảng trắng.

# mysqldump -u root -ptecmint --databases rsyslog syslog > rsyslog_syslog.sql

Như bnạ thấy, mình đã backup 2 database tên là rsyslog syslog.

3. Backup tất cả database của user

Nếu bạn muốn backup tất cả database của một user thì sử dụng cú pháp sau.

# mysqldump -u root -ptecmint --all-databases > all-databases.sql

Tham số --all-databases sẽ cho biết bạn muốn backup mọi database của user ptecmint.

4. Chỉ backup database structure table

Nếu bạn chỉ muốn backup lại cấu trúc các table trong database thì sử dụng tham số -–no-data.

# mysqldump -u root -ptecmint -–no-data rsyslog > rsyslog_structure.sql

5. Chỉ backup dữ liệu, không backup cấu trúc db

Nếu bạn muốn chỉ backup dữ liệu mà khong muốn backup cấu trúc của các table thì sử dụng hai tham số, đó là --no-create-db--no-create-info.

# mysqldump -u root -ptecmint --no-create-db --no-create-info rsyslog > rsyslog_data.sql

6. Backup một table trong một database

Nếu chỉ muốn backup một table thôi thì hãy cung cấp tên database và tên table.

# mysqldump -u root -ptecmint wordpress wp_posts > wordpress_posts.sql

Trong đó wordpress là tên database, còn wp_posts là tên table.

7. Backup nhiều table trong một database

Rất đơn giản, trường hợp này thì ta chỉ cần thêm danh sách table cần backup và cách nhau bởi khoảng trắng là được.

# mysqldump -u root -ptecmint wordpress wp_posts wp_comments > wordpress_posts_comments.sql

Mình đã backup 2 table tên là wp_posts và wp_comments.

8. Backup thông qua remote đến server của database

Trường hợp này bạn phải cung cấp địa chỉ IP của server chứa database.

# mysqldump -h 172.16.25.126 -u root -ptecmint gallery > gallery.sql

Lưu ý là tài khoản và mật khẩu mà bạn cung cấp phải chuẩn xác nhé.

II. Cách restore MySQL Database

Ở phần I mình đã hướng dẫn xong các backup và kết quả là nó sẽ tạo ra một file .sql. Bây giờ muốn restore nó thì cực kì đơn giản, bạn có thể sử dụng PHP MyAdmin hoặc một công cụ quản lý DB nào đó cũng được. Tuy nhiên trong bài này mình sẽ hướng dẫn sử dụng lệnh mysqlimportmysql để phục hồi.

Đây là cú pháp sử dụng lệnh mysql.

# mysql -u [username] –p[password] [database_name] < [dump_file.sql]

Đầu tiên bạn phải chắc chắn rằng đã có một database trống nhé, nếu chưa có thì hãy tạo nó trước. Như ví dụ này mình đã có một database tên là rsyslog nên sẽ chạy lệnh sau để restore.

# mysql -u root -ptecmint rsyslog < rsyslog.sql

Trường hợp database của bạn đã tồn tại trên server và nó không rỗng thì có thể sử dụng lệnh mysqlimport.

# mysqlimport -u root -ptecmint rsyslog < rsyslog.sql

Tùy vào từng trường hợp mà bạn chọn giải pháp cho riêng mình nhé.

Trên là cách backup và restore MySQL Database bằng cách sử dụng thư viẹn mysqldum trong Linux. Chúc bạn thực hiện thành công.

Cùng chuyên mục:

Hướng dẫn cấu hình Mail Server trên CentOs 6.5

Hướng dẫn cấu hình Mail Server trên CentOs 6.5

Cách dùng lệnh Users trong Linux để xem user đang online

Cách dùng lệnh Users trong Linux để xem user đang online

Nếu bạn đang là quản trị viên thì việc quản lý thông tin / xem…

Cách sử dụng lệnh Wall trong Linux

Cách sử dụng lệnh Wall trong Linux

Wall là một công cụ dòng lệnh giúp hiển thị thông báo đến tất cả…

Cách dùng lệnh Whereis trong Linux

Cách dùng lệnh Whereis trong Linux

Whereis là một tiện ích dòng lệnh command line, nó cho phép bạn tìm ..

Cách sử dụng lệnh Which trong Linux

Cách sử dụng lệnh Which trong Linux

Linux dùng lệnh which để xác định vị trí file thực thi của lệnh mà…

Cách sử dụng lệnh whoami trong Linux

Cách sử dụng lệnh whoami trong Linux

Giống như tên gọi của nó, lệnh whoami in tên người dùng đang chạy ...

Cách dùng lệnh zcat trong Linux

Cách dùng lệnh zcat trong Linux

Mặc dù tính năng nén file rất hữu ích vì nó giúp ta tiết kiệm…

Hiểu rõ hơn về chmod 777 trong Linux

Hiểu rõ hơn về chmod 777 trong Linux

Bạn đang xây dựng một website và sử dụng tính năng upload ...

Cách sử dụng lệnh tail trong Linux

Cách sử dụng lệnh tail trong Linux

Mặc định thì lệnh tail sẽ hiển thị 10 dòng cuối cùng của file, thông…

Cách sử dụng lệnh Head trong Linux

Cách sử dụng lệnh Head trong Linux

Trong quá trình quản trị dữ liệu trên Linux đôi khi bạn muốn xem nhanh…

Cách sử dụng lệnh Whatis trong Linux

Cách sử dụng lệnh Whatis trong Linux

Trong bài này chúng ta sẽ tìm hiểu lệnh whatis trong ...

Cách sử dụng lệnh kill trong Linux

Cách sử dụng lệnh kill trong Linux

Linux là một hệ điều hành rất nhanh nhưng không phải lúc nào nó không…

Cách dùng lệnh who trong Linux

Cách dùng lệnh who trong Linux

Who là một công cụ dòng lệnh command-line, được ...

Cách dùng lệnh basename trong Linux

Cách dùng lệnh basename trong Linux

basename là một tiện ích dòng lệnh (command line) dùng để lấy ...

Cách sử dụng lệnh gzip trên Linux

Cách sử dụng lệnh gzip trên Linux

Gzip là một trong những thuật toán nén file phổ biến nhất, nó cho phép…

Cách dùng lệnh wait trong Linux

Cách dùng lệnh wait trong Linux

Wait là lệnh dùng để đợi một thời gian cho tới khi công việc nào…

Cách dùng lệnh ping trong Linux

Cách dùng lệnh ping trong Linux

Lệnh ping là một trong những công cụ được sử dụng nhiều nhất để khắc…

Cách dùng lệnh sleep trong Linux

Cách dùng lệnh sleep trong Linux

sleep là một tiện ích command line cho phép lập trình viên ..

Các ví dụ học Bash Script trong Linux cơ bản nhất

Các ví dụ học Bash Script trong Linux cơ bản nhất

Bash Script đuọc xem là mã code lập trình trên Linux ...

Vòng lặp until trong Shell Script

Vòng lặp until trong Shell Script

Top