11 ví dụ lệnh mysqldump trên Centos / Ubuntu / Debian / Fedora

Lệnh mysqldump là một chương trình dòng lệnh dùng để sao lưu cơ sở dữ liệu MySQL cục bộ hoặc từ xa vào một tệp tin duy nhất.

Chúng tôi giả định rằng bạn đã cài đặt MySQL trên hệ thống Linux với quyền quản trị và bạn đã có một số kiến thức cơ bản về MySQL.

Làm thế nào để sao lưu cơ sở dữ liệu MySQL trên Linux?

Để sao lưu cơ sở dữ liệu MySQL hoặc nhiều cơ sở dữ liệu, cơ sở dữ liệu phải tồn tại trên máy chủ cơ sở dữ liệu và bạn phải có quyền truy cập vào nó. Cú pháp của lệnh như sau. 

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

Các tham số của lệnh như sau:

  • [username]: Tên người dùng hợp lệ của MySQL.
  • [password]: Mật khẩu hợp lệ của người dùng MySQL.
  • [database_name]: Tên cơ sở dữ liệu hợp lệ mà bạn muốn sao lưu.
  • [dump_file.sql]: Tên của tệp tin sao lưu mà bạn muốn tạo ra.

Sao lưu một cơ sở dữ liệu MySQL duy nhất bằng lệnh mysqldump

Để sao lưu một cơ sở dữ liệu duy nhất, sử dụng lệnh như sau. Lệnh sẽ sao lưu cấu trúc và dữ liệu của cơ sở dữ liệu [rsyslog] vào một tệp tin sao lưu duy nhất có tên rsyslog.sql.

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

Lệnh mysqldump sao lưu nhiều cơ sở dữ liệu 

Nếu bạn muốn sao lưu nhiều cơ sở dữ liệu, chạy lệnh sau. Ví dụ lệnh sau sẽ sao lưu cấu trúc và dữ liệu của các cơ sở dữ liệu [rsyslog, syslog] vào một tệp tin duy nhất có tên rsyslog_syslog.sql.

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

Sao lưu tất cả cơ sở dữ liệu MySQL

Nếu bạn muốn sao lưu tất cả cơ sở dữ liệu, sử dụng lệnh sau với tùy chọn --all-databases. Lệnh sau sẽ sao lưu tất cả cơ sở dữ liệu với cấu trúc và dữ liệu vào một tệp tin có tên all-databases.sql.

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

Chỉ sao lưu cấu trúc cơ sở dữ liệu bằng câu lệnh mysqldump đơn giản 

Nếu bạn chỉ muốn sao lưu cấu trúc cơ sở dữ liệu mà không sao lưu dữ liệu, sử dụng tùy chọn --no-data trong lệnh. Lệnh dưới đây sẽ xuất cấu trúc của cơ sở dữ liệu [rsyslog] vào một tệp tin có tên rsyslog_structure.sql.

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

Chỉ sao lưu dữ liệu cơ sở dữ liệu MySQL

Để sao lưu dữ liệu cơ sở dữ liệu mà không sao lưu cấu trúc, sử dụng tùy chọn --no-create-info với lệnh. Lệnh này sẽ lấy dữ liệu của cơ sở dữ liệu [rsyslog] vào một tệp tin có tên rsyslog_data.sql.

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

Sao lưu một bảng đơn trong cơ sở dữ liệu với mysqldump

Với lệnh mysqldump kèm tùy chọn, bạn có thể sao lưu một bảng đơn hoặc các bảng cụ thể trong cơ sở dữ liệu. Ví dụ, lệnh sau chỉ sao lưu bảng wp_posts từ cơ sở dữ liệu wordpress.

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

Sao lưu nhiều bảng trong cơ sở dữ liệu với lệnh mysqldump

Nếu bạn muốn sao lưu nhiều hoặc các bảng cụ thể từ cơ sở dữ liệu, hãy phân tách mỗi bảng bằng khoảng trắng.

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

Sao lưu cơ sở dữ liệu từ xa bằng mysqldump

Lệnh mysqldump sao lưu cơ sở dữ liệu của máy chủ từ xa [172.16.25.126] vào máy chủ cục bộ.

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

Khôi phục cơ sở dữ liệu MySQL

Trong hướng dẫn trên, chúng ta đã thấy cách sao lưu cơ sở dữ liệu, bảng, cấu trúc và dữ liệu, bây giờ chúng ta sẽ thấy cách khôi phục chúng bằng cách sử dụng định dạng sau.

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

11.Khôi phục một cơ sở dữ liệu MySQL đơn 

Để khôi phục một cơ sở dữ liệu, bạn phải tạo một cơ sở dữ liệu trống trên máy đích và khôi phục cơ sở dữ liệu bằng lệnh mysql. Ví dụ, lệnh sau sẽ khôi phục tệp tin rsyslog.sql vào cơ sở dữ liệu rsyslog. 

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

Nếu bạn muốn khôi phục một cơ sở dữ liệu đã tồn tại trên máy đích, bạn sử dụng lệnh mysqlimport. 

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

Tương tự, bạn cũng có thể khôi phục các bảng, cấu trúc và dữ liệu của cơ sở dữ liệu. Nếu bạn thích bài viết này, hãy chia sẻ nó với bạn bè của bạn.

Mọi người cũng tìm kiếm: mysqldump root, fedora 11, mysqldump centos, mysqldump ubuntu, mysqldump 10, ubuntu mysqldump