Bài viết này cho bạn thấy một số ví dụ thực tế về cách thực hiện các hoạt động sao lưu khác nhau của MySQL cơ sở dữ liệu sử dụng mysqldump và chúng tôi cũng sẽ xem cách khôi phục chúng với sự trợ giúp của mysql và mysqlimport lệnh trong Linux .
mysqldump là một chương trình khách dòng lệnh, nó được sử dụng để kết xuất MySQL cục bộ hoặc từ xa cơ sở dữ liệu hoặc tập hợp cơ sở dữ liệu để sao lưu vào một tệp phẳng duy nhất.
Chúng tôi giả định rằng bạn đã có MySQL được cài đặt trên Linux hệ thống có đặc quyền quản trị và chúng tôi giả định rằng bạn đã có một lượng nhỏ kiến thức về MySQL . Nếu bạn chưa cài đặt MySQL hoặc không tiếp xúc với MySQL thì hãy đọc các bài viết của chúng tôi bên dưới.
- Cài đặt Máy chủ MySQL trên RHEL / CentOS 6-5, Fedora 17-12
- 20 lệnh MySQL để quản trị cơ sở dữ liệu
Làm cách nào để sao lưu cơ sở dữ liệu MySQL?
Để sao lưu MySQL cơ sở dữ liệu hoặc các cơ sở dữ liệu, cơ sở dữ liệu phải tồn tại trong máy chủ cơ sở dữ liệu và bạn phải có quyền truy cập vào nó. Định dạng của lệnh sẽ là.
# mysqldump -u [username] –p[password] [database_name] > [dump_file.sql]
Các tham số của lệnh đã nói như sau.
- [tên người dùng] :Tên người dùng MySQL hợp lệ.
- [mật khẩu] :Mật khẩu MySQL hợp lệ cho người dùng.
- [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 kết xuất dự phòng bạn muốn tạo.
Làm cách nào để sao lưu một cơ sở dữ liệu MySQL duy nhất?
Để sao lưu một cơ sở dữ liệu, hãy sử dụng lệnh như sau. Lệnh sẽ kết xuất cơ sở dữ liệu [ rsyslog ] cấu trúc với dữ liệu trên một tệp kết xuất duy nhất được gọi là rsyslog.sql .
# mysqldump -u root -ptecmint rsyslog > rsyslog.sql
Làm cách nào để sao lưu nhiều cơ sở dữ liệu MySQL?
Nếu bạn muốn sao lưu nhiều cơ sở dữ liệu, hãy chạy lệnh sau. Lệnh ví dụ sau tạo bản sao lưu cơ sở dữ liệu [ rsyslog , nhật ký hệ thống ] cấu trúc và dữ liệu trong một tệp duy nhất có tên rsyslog_syslog.sql .
# mysqldump -u root -ptecmint --databases rsyslog syslog > rsyslog_syslog.sql
Làm cách nào để 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, hãy sử dụng lệnh sau với tùy chọn –all-database . Lệnh sau sẽ sao lưu tất cả cơ sở dữ liệu có cấu trúc và dữ liệu của chúng vào một tệp có tên all-databases.sql .
# mysqldump -u root -ptecmint --all-databases > all-databases.sql
Làm cách nào để chỉ sao lưu cấu trúc cơ sở dữ liệu MySQL?
Nếu bạn chỉ muốn sao lưu cấu trúc cơ sở dữ liệu mà không có dữ liệu, thì hãy sử dụng tùy chọn –no-data trong lệnh. Lệnh dưới đây xuất cơ sở dữ liệu [ rsyslog ] Cấu trúc vào một tệp rsyslog_osystem.sql .
# mysqldump -u root -ptecmint -–no-data rsyslog > rsyslog_structure.sql
Làm cách nào để chỉ sao lưu dữ liệu cơ sở dữ liệu MySQL?
Để sao lưu cơ sở dữ liệu Dữ liệu chỉ mà không có cấu trúc, sau đó sử dụng tùy chọn –no-create-info bằng lệnh. Lệnh này nhận cơ sở dữ liệu [ rsyslog ] Dữ liệu vào một tệp rsyslog_data.sql .
# mysqldump -u root -ptecmint --no-create-db --no-create-info rsyslog > rsyslog_data.sql
Làm cách nào để sao lưu một bảng cơ sở dữ liệu?
Với lệnh dưới đây, bạn có thể sao lưu một bảng hoặc một số bảng nhất định trong cơ sở dữ liệu của mình. Ví dụ:lệnh sau chỉ sao lưu wp_posts bảng từ cơ sở dữ liệu wordpress .
# mysqldump -u root -ptecmint wordpress wp_posts > wordpress_posts.sql
Làm cách nào để sao lưu nhiều bảng cơ sở dữ liệu?
Nếu bạn muốn sao lưu nhiều hoặc một số bảng từ cơ sở dữ liệu, hãy tách từng bảng bằng khoảng trắng.
# mysqldump -u root -ptecmint wordpress wp_posts wp_comments > wordpress_posts_comments.sql
Cách sao lưu cơ sở dữ liệu MySQL từ xa
Lệnh dưới đây thực hiện sao lưu máy chủ từ xa [ 172.16.25.126 ] cơ sở dữ liệu [ thư viện ] vào một máy chủ cục bộ.
# mysqldump -h 172.16.25.126 -u root -ptecmint gallery > gallery.sql
Cách khôi phục cơ sở dữ liệu MySQL?
Trong hướng dẫn trên, chúng ta đã thấy cách 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ẽ xem 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]
Cách khôi phục cơ sở dữ liệu MySQL đơn
Để khôi phục cơ sở dữ liệu, bạn phải tạo cơ sở dữ liệu trống trên máy đích và khôi phục cơ sở dữ liệu bằng cách sử dụng msyql yêu cầu. Ví dụ:lệnh sau sẽ khôi phục rsyslog.sql tệp vào rsyslog cơ sở dữ liệu.
# mysql -u root -ptecmint rsyslog < rsyslog.sql
Nếu bạn muốn khôi phục cơ sở dữ liệu đã tồn tại trên máy được nhắm mục tiêu, thì bạn sẽ cần sử dụng mysqlimport lệnh.
# mysqlimport -u root -ptecmint rsyslog < rsyslog.sql
Theo cách 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ơ 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.