Sao lưu nhất quán trong mysql

Dưới đây là 5 cách backup and restore MySQL Database (Sao lưu và phục hồi cơ sở dữ liệu MySQL) cho các nhà quản trị website tham khảo

Sao lưu nhất quán trong mysql

Cách 1. Use mysqldump to backup and recovery MySQL database

Mysqldump là một lệnh để tạo ra một bản sao lưu của cơ sở dữ liệu MySQL. Nó tạo ra một tập tin. sql chứa các câu lệnh mà sau này dùng để khôi phục dữ liệu và các bảng trong cơ sở dữ liệu. Lệnh mysqldump cũng có thể xuất các tệp có định dạng như XML hoặc CSV. Ngoài ra mysqldump còn được sử dụng để chuyển cơ sở dữ liệu MySQL sang một máy chủ MySQL mới

Phần tiếp theo sẽ là hướng dẫn chi tiết cách sử dụng câu lệnh mysqldump

1. Cú pháp mysqldump

Để sao lưu cơ sở dữ liệu MySQL, cú pháp chung của lệnh là như sau

mysqldump [options] > file.sql

in which

  • option is the options of the command
  • Tập tin. sql là tệp cơ sở dữ liệu được xuất ra trong quá trình sao lưu

Trong quá trình thực thi lệnh, bạn sẽ nhận được yêu cầu nhập tên người dùng và mật khẩu

2. Sao lưu cơ sở dữ liệu MySQL đơn giản

Chúng ta thường sẽ sử dụng mysqldump để sao lưu cơ sở dữ liệu. Câu lệnh trong trường hợp này sẽ là

mysqldump -u root -p database_name > database_name.sql

in which

  • database_name là tên của cơ sở dữ liệu chúng ta cần sao lưu
  • tên cơ sở dữ liệu. sql is the name file was created after backup

Sau khi nhập lệnh trên, tiếp theo bạn cần điền mật khẩu của tài khoản gốc để quá trình sao lưu được diễn ra. Nếu bạn có một cơ sở dữ liệu với kích thước lớn, tiến trình này sẽ cần nhiều thời gian hơn

Nếu trong trường hợp bạn đăng nhập với người dùng có quyền tạo bản sao lưu mà không cần nhập pass, thì có thể bỏ qua đoạn lệnh -u và -p

mysqldump database_name > database_name.sql

3. Cách sao lưu cùng lúc nhiều cơ sở dữ liệu

Để sao lưu cùng lúc nhiều cơ sở dữ liệu thì cũng rất đơn giản. Chúng ta sử dụng thêm tùy chọn –databases và tiếp theo là đặt tên cho những cơ sở dữ liệu bạn cần sao lưu. Thêm dấu cách vào giữa tên các cơ sở dữ liệu để phân cách chúng

mysqldump -u root -p --databases database_name_a database_name_b > databases_a_b.sql

Trong câu lệnh trên chúng ta sao lưu hai cơ sở dữ liệu là database_name_a và database_name_b vào tệp databases_a_b. sql

4. Sao lưu tất cả cơ sở dữ liệu trong máy chủ

Tương tự như trường hợp trên, chúng ta sao lưu cùng lúc toàn bộ cơ sở dữ liệu vào một tệp duy nhất. Đây là câu lệnh sử dụng

mysqldump -u root -p --all-databases > all_databases.sql

Trong đó –all-databases là tùy chọn sao lưu toàn bộ cơ sở dữ liệu

5. Sao lưu cơ sở dữ liệu vào nhiều tệp

Câu lệnh mysqldump không có tùy chọn sao lưu từng cơ sở dữ liệu vào nhiều tệp khác nhau. Tuy nhiên, chúng ta có thể sử dụng vòng lặp FOR để có kết quả tương tự

for DB in $(mysql -e 'show databases' -s --skip-column-names); do
    mysqldump $DB > "$DB.sql";
done

Kết quả là mỗi cơ sở dữ liệu sẽ được sao lưu vào một tập tin riêng

6. Tạo 1 file nén khi sao lưu cơ sở dữ liệu

Nếu cơ sở dữ liệu có dữ liệu quá lớn, chúng ta nên nén tệp xuất ra dưới dạng gzip để dễ khôi phục sau này

mysqldump database_name | gzip > database_name.sql.gz

7. Add time to the backup file backup

Chúng ta có thể thêm thời gian vào cuối mỗi tệp, cách này sẽ giúp chúng ta dễ dàng phân biệt trong trường hợp có quá nhiều tệp sao lưu trong cùng một thư mục

mysqldump database_name > database_name-$(date +%Y%m%d).sql

Phần $(date +%Y%m%d) sẽ thêm thông tin năm, tháng và ngày vào cuối tập tin sao lưu

8. Khôi phục lại cơ sở dữ liệu đã sao lưu

Chúng ta sử dụng câu lệnh mysql để khôi phục lại các bản sao lưu

________số 8_______

Dòng lệnh đầu tiên bạn sẽ tạo ra một cơ sở dữ liệu có tên là database_name. Ở dòng lệnh thứ hai bạn thực hiện gán tệp sao lưu đã tạo trước đó vào cơ sở dữ liệu mới này

9. Khôi phục lại 1 cơ sở dữ liệu từ 1 tệp sao lưu tất cả dữ liệu

Trong ví dụ trước đây mình đã sử dụng tùy chọn –all-databases để sao lưu toàn bộ cơ sở dữ liệu MySQL vào một tệp. Để khôi phục lại tất cả dữ liệu này vào một cơ sở dữ liệu mới, chúng ta sử dụng tùy chọn –one-database. The command will like after

mysql --one-database database_name < all_databases.sql

10. Xuất và nhập cơ sở dữ liệu trong 1 dòng lệnh

Chúng ta có thể kết hợp quá trình sao lưu và phục hồi trong một câu lệnh bằng cách sử dụng câu lệnh

mysqldump -u root -p database_name > database_name.sql
0

Trong câu lệnh trên, chúng ta xuất tệp sao lưu của cơ sở dữ liệu có tên là database_name, đồng thời nhập nó vào cơ sở dữ liệu mới có tên là remote_database_name nằm trong một máy chủ MySQL khác là remote_host. Đừng quên bạn cần tạo cơ sở dữ liệu mới trong máy chủ từ xa để có chỗ nhập vào nhé

11. Sao lưu tự động với cron job

Bạn có thể cài đặt trước thời gian sao lưu và để quá trình diễn ra một cách tự động. Nhờ vậy cơ sở dữ liệu sẽ được sao lưu thường xuyên, liên tục. Để làm được điều này, chúng ta sẽ sử dụng đến cronjob theo các bước sau

Bước 1. Tạo tệp. của tôi. cnf in home directory

mysqldump -u root -p database_name > database_name.sql
1

Thêm đoạn mã sau vào tệp vừa tạo

mysqldump -u root -p database_name > database_name.sql
2

Trong đó dbuser và dbpasswd lần lượt là tên đăng nhập và mật khẩu của máy chủ MySQL

Bước 2. Thiết lập quyền truy cập tệp để chỉ có bạn hoặc người được bạn cấp quyền mới có thể đọc và chỉnh sửa tệp này

mysqldump -u root -p database_name > database_name.sql
3

Bước 3. Tạo thư mục để chứa file sao lưu

mysqldump -u root -p database_name > database_name.sql
4

Bước 4. Mở tệp crontab

mysqldump -u root -p database_name > database_name.sql
5

You add up line after to auto backup into at 5 time light each day

mysqldump -u root -p database_name > database_name.sql
6

Đừng quên thay thế tên người dùng bằng tên người dùng thật

Bạn cũng có thể tự động xóa các tệp sao lưu trong khoảng thời gian 45 ngày bằng cách tạo tệp cronjob với nội dung

mysqldump -u root -p database_name > database_name.sql
7

With /path/to/backups là đường dẫn tới thư mục chứa file backup

You can you quan tâm

MySQL là gì?

cách 2. Sử dụng phpMyAdmin để sao lưu Cơ sở dữ liệu MySQL

Bước 1. Trong cPanel hoặc các bảng điều khiển hosting khác, bạn mở phpMyAdmin

Sao lưu nhất quán trong mysql

Bước 2. Chọn cơ sở dữ liệu cần sao lưu ở bên tay trái

Sao lưu nhất quán trong mysql

Bước 3. Select tab Export in section menu

Sao lưu nhất quán trong mysql

Bước 4. You select export method is Custom – hiển thị tất cả các tùy chọn có thể

Sao lưu nhất quán trong mysql

Bước 5. Chọn các bảng mà bạn muốn sao lưu

Đánh dấu tích vào các bảng mà bạn muốn sao lưu. Trong trường hợp không chắc chắn nên sao lưu bảng nào thì bạn nên giữ nguyên như mặc định

Sao lưu nhất quán trong mysql

Bước 6. Trong mục Nén bạn chọn Gzipped còn các mục khác bạn giữ nguyên

Sao lưu nhất quán trong mysql

Bước 7. Click nút Go to download file down. Tải xuống tệp sẽ có đuôi. sql. gz

Sao lưu nhất quán trong mysql

Cách 3. Hướng dẫn sao lưu cơ sở dữ liệu MySQL và các tệp tin vào Máy chủ FTP

Đối với những trang web quản trị viên dày đặc kinh nghiệm và đang sử dụng một máy chủ ảo VPS, sẽ là tốt nhất nếu bạn sao lưu cơ sở dữ liệu MySQL và các máy chủ tệp web vào máy chủ FTP. Với giao thức FTP hoặc NAS, thông tin được bảo toàn trong quá trình truyền và nhận tệp. Bạn sẽ sử dụng lệnh mysqldump để sao lưu từng cơ sở dữ liệu, sau đó chuyển các tệp sao lưu lên máy chủ FTP

mysqldump -u root -p database_name > database_name.sql
8

Cách 4. Sử dụng PHP để sao lưu cơ sở dữ liệu MySQL

Bạn có thể sử dụng đoạn mã PHP dưới đây để sao lưu cơ sở dữ liệu MySQL với truy vấn SELECT INTO OUTFILE

mysqldump -u root -p database_name > database_name.sql
9

Để khôi phục các tập tin sao lưu, bạn sử dụng truy vấn LOAD DATA INFILE

mysqldump database_name > database_name.sql
0

Cách 5. Hướng dẫn sao lưu cơ sở dữ liệu MySQL qua SSH

Trong phần quản trị hosting, bạn cần cho phép sử dụng SSH để truy cập vào máy chủ. SSH được tích hợp sẵn trong thiết bị đầu cuối của các máy Linux. Với máy tính Windows, bạn có thể sử dụng các phần mềm thay thế khác như Git bash hoặc Putty

Một vài cách sao lưu Cơ sở dữ liệu MySQL khác

– Sao lưu cơ sở dữ liệu MySQL và chuyển sang Amazon S3

Chúng ta có thể tiến hành sao lưu cơ sở dữ liệu MySQL sang Amazon S3 bằng cách sử dụng shell script. Về cơ bản, chúng ta sẽ chạy shell script bằng cách sử dụng lệnh mysqldump và gzip để nén tệp sao lưu tương tự như phần trên, sau đó sử dụng AWS CLI để tải tệp lên Amazon S3. Để tự động hóa quá trình này hàng ngày, chúng ta sử dụng câu lệnh cron

– Sao lưu cơ sở dữ liệu MySQL tự động trên máy tính Linux

Trong Linux, chúng ta sử dụng câu lệnh sau

mysqldump database_name > database_name.sql
1

– Use AutoMyQueryBackup to backup MySQL database

automysqlbackup có đầy đủ các tùy chọn. sao lưu một cơ sở dữ liệu, nhiều cơ sở dữ liệu hoặc tất cả cơ sở dữ liệu. Tệp sao lưu sẽ được nén dưới dạng gzip hoặc bzip2. Nó cũng sẽ thường xuyên bỏ qua các bản sao lưu cũ để không làm đầy ổ cứng