Sao lưu db MySQL

Vì vậy, trong bài viết này, BKHOST sẽ hướng dẫn các bạn cụ thể các cách sao lưu và phục hồi cơ sở dữ liệu MySQL

Trước khi bắt đầu, có thể bạn cần tìm hiểu qua các nội dung sau đây

Còn nếu bạn đã có sẵn, ok, hãy cùng bắt đầu ngay thôi nào

Sao lưu db 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

Trong đó.
  • 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 mã đoạn 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 backup____14
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

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 db MySQL
Sử dụng phpMyAdmin để sao lưu cơ sở dữ liệu MySQL

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

Sao lưu db MySQL
Chọn cơ sở dữ liệu cần sao lưu trong phpMyAdmin

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

Sao lưu db MySQL
Chọn xuất tab

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 db MySQL
Option Export method is Custom

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 db MySQL
Chọn các bảng muốn sao lưu

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 db MySQL
Nén file with gzip format

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 db MySQL
Tải file backup xuong

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 VPS máy chủ, sẽ 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


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

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 -u root -p database_name > database_name.sql
9

– 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

– Sử dụng Shell Script trong Ubuntu để sao lưu cơ sở dữ liệu MySQL

Lời kết

Bây giờ bạn đã biết cách sao lưu và khôi phục cơ sở dữ liệu MySQL bằng nhiều cách khác nhau. Trong đó đơn giản nhất là sử dụng phpMyAdmin hoặc câu lệnh mysqldump. Nếu bạn muốn có thêm nhiều hướng dẫn chi tiết về quản trị máy chủ và cơ sở dữ liệu, hãy tiếp tục theo dõi các bài viết tiếp theo trên blog của chúng tôi

p/s. Bạn cũng có thể truy cập Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến ​​thức về lập trình, quản trị mạng, website, tên miền, hosting, vps, server, email,… Chúc bạn thành công

Làm cách nào để sao lưu cơ sở dữ liệu trong MySQL?

MySQL Workbench để sao lưu cơ sở dữ liệu .
Trên bảng Quản trị, nhấp vào Xuất dữ liệu. .
Trên tab Chọn đối tượng > Bảng để xuất, hãy chọn lược đồ sakila
Trong Tùy chọn Xuất, hãy chọn Xuất sang Thư mục Dự án Kết xuất nếu bạn muốn các bảng cơ sở dữ liệu được lưu trữ riêng biệt. .
Để tạo tệp sao lưu, hãy nhấp vào Bắt đầu xuất

Làm cách nào để sao lưu và khôi phục cơ sở dữ liệu MySQL?

Bạn có thể sao lưu và khôi phục Cơ sở dữ liệu MySQL bằng mysqldump thông qua dòng lệnh hoặc PHPMyAdmin. .
Khôi phục cơ sở dữ liệu MySQL. .
Khôi phục một cơ sở dữ liệu MySQL đơn lẻ từ một tệp kết xuất MySQL đầy đủ. .
Xuất và nhập cơ sở dữ liệu MySQL trong một lệnh

Làm cách nào để sao lưu cơ sở dữ liệu MySQL trong dòng lệnh?

Một phương pháp đơn giản và dễ dàng để tạo bản sao lưu MySQL là sử dụng lệnh mysqldump. Lệnh này sẽ tạo một đơn giản. sql của cơ sở dữ liệu hiện có, sau đó có thể được khôi phục vào bất kỳ cơ sở dữ liệu MySQL trống nào khác

MySQL có sao lưu không?

Ngoài cơ sở dữ liệu, bản sao lưu có thể bao gồm mọi tệp liên quan như tệp nhật ký hoặc tệp cấu hình . Dữ liệu từ các bảng BỘ NHỚ rất khó sao lưu theo cách này vì nội dung của chúng không được lưu trữ trên đĩa. (Sản phẩm Sao lưu Doanh nghiệp MySQL có một tính năng mà bạn có thể truy xuất dữ liệu từ các bảng BỘ NHỚ trong quá trình sao lưu. )