Sao lưu và khôi phục cơ sở dữ liệu MySQL là điều cần thiết đối với bất kỳ nhà quản trị website nào. là điều cần thiết đối với bất kỳ nhà quản trị website nào.
Bạn đang cố gắng khôi phục lại một bản sao cơ sở dữ liệu MySQL của mình?
Vậy thì trong bài viết này, BKHOST sẽ hướng dẫn bạn cụ thể những cách để backup và restore MySQL database.
Đăng ký tên miền .VN tại BKHOST
BKHOST đang có chương trình khuyến mãi cực tốt dành cho khách hàng đăng ký tên miền .VN:
- Giảm ngay 140k.140k.
- Miễn phí 100% dịch vụ khởi tạo tên miền .VN100% dịch vụ khởi tạo tên miền .VN
Còn rất nhiều tên miền .VN đẹp đang chờ bạn. Nhanh tay sở hữu ngay hôm nay trước khi đối thủ của bạn nhắm tới.
mua domain .vn
Trước khi bắt đầu, có thể bạn sẽ cần tìm hiểu qua các nội dung sau đây:
- Backup là gì? Giải pháp Back-up dữ liệu tốt nhất hiện nay?
- Cách backup website WordPress nhanh nhất.
Còn nếu bạn đã sẵn sàng, ok, hãy cùng bắt đầu ngay thôi nào.
Nội dung bài viết
- Cách 1: Sử dụng mysqldump để sao lưu và khôi phục MySQL database
- 1. Cú pháp mysqldump
- 2. Sao lưu MySQL database đơn giản
- 3. Cách sao lưu cùng lúc nhiều database
- 4. Sao lưu tất cả database trong máy chủ
- 5. Sao lưu database vào nhiều file
- 6. Tạo 1 file nén khi sao lưu database
- 7. Thêm thời gian vào cuối file backup
- 8. Khôi phục lại database đã sao lưu
- 9. Khôi phục lại 1 database từ 1 file sao lưu tất cả dữ liệu
- 10. Export và Import một database trong 1 dòng lệnh
- 11. Sao lưu tự động với cron job
- Cách 2: Sử dụng phpMyAdmin để backupMySQL Database
- Cách 3: Hướng dẫn sao lưu MySQL database và các tệp tin vào FTP Server
- Cách 4: Sử dụng PHP để sao lưu MySQL database
- Cách 5: Hướng dẫn sao lưu MySQL database qua SSH
- Một vài cách sao lưu MySQL Database khác
- Lời kết
Cách 1: Sử dụng mysqldump để sao lưu và khôi phục MySQL database
1. Cú pháp 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 file .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 database. Lệnh mysqldump cũng có thể xuất ra các file với định dạng như XML hoặc CSV. Ngoài ra mysqldump còn được dùng để di chuyển MySQL database sang một MySQL server mới.
2. Sao lưu MySQL database đơn giản
1. Cú pháp mysqldump
2. Sao lưu MySQL database đơn giản
mysqldump [options] > file.sql
3. Cách sao lưu cùng lúc nhiều database
- 4. Sao lưu tất cả database trong máy chủ là các tùy chọn của câu lệnh
- 5. Sao lưu database vào nhiều file là tệp cơ sở dữ liệu được xuất ra trong quá trình sao lưu.
6. Tạo 1 file nén khi sao lưu database
2. Sao lưu MySQL database đơn giản
3. Cách sao lưu cùng lúc nhiều database
mysqldump -u root -p database_name > database_name.sql
3. Cách sao lưu cùng lúc nhiều database
- 4. Sao lưu tất cả database trong máy chủ là tên của cơ sở dữ liệu chúng ta cần sao lưu
- 5. Sao lưu database vào nhiều file là tên file được tạo ra sau khi backup.
6. Tạo 1 file nén khi sao lưu database
7. Thêm thời gian vào cuối file backup
mysqldump database_name > database_name.sql
3. Cách sao lưu cùng lúc nhiều database
4. Sao lưu tất cả database trong máy chủ–databases và tiếp theo là tên những database bạn cần backup. Thêm dấu cách vào giữa tên các database để phân cách chúng.
mysqldump -u root -p --databases database_name_a database_name_b > databases_a_b.sql
5. Sao lưu database vào nhiều filedatabase_name_a và database_name_b vào file databases_a_b.sql
4. Sao lưu tất cả database trong máy chủ
5. Sao lưu database vào nhiều file
mysqldump -u root -p --all-databases > all_databases.sql
6. Tạo 1 file nén khi sao lưu database–all-databases là tùy chọn sao lưu toàn bộ cơ sở dữ liệu.
5. Sao lưu database vào nhiều file
6. Tạo 1 file nén khi sao lưu databasevòng lặp FOR để có kết quả tương tự.
7. Thêm thời gian vào cuối file backup8. Khôi phục lại database đã sao lưu
6. Tạo 1 file nén khi sao lưu database
7. Thêm thời gian vào cuối file backupgzip để dễ khôi phục sau này:
mysqldump database_name | gzip > database_name.sql.gz
7. Thêm thời gian vào cuối file backup
8. Khôi phục lại database đã sao lưu
mysqldump database_name > database_name-$[date +%Y%m%d].sql
9. Khôi phục lại 1 database từ 1 file sao lưu tất cả dữ liệu$[date +%Y%m%d] sẽ thêm thông tin năm, tháng và ngày vào cuối file backup.
8. Khôi phục lại database đã sao lưu
9. Khôi phục lại 1 database từ 1 file sao lưu tất cả dữ liệucâu lệnh mysql để khôi phục lại các bản sao lưu:
mysql -u root -p -e "create database database_name"; mysql -u root -p database_name < database_name.sql
10. Export và Import một database trong 1 dòng lệnhdatabase_name. Ở dòng lệnh thứ hai bạn thực hiện gán file backup đã tạo trước đó vào cơ sở dữ liệu mới này.
9. Khôi phục lại 1 database từ 1 file 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ộ MySQL database vào một file. Để khôi phục lại tất cả dữ liệu này vào một database mới chúng ta sử dụng tùy chọn –one-database. Câu lệnh sẽ như sau:–one-database. Câu lệnh sẽ như sau:
mysql --one-database database_name < all_databases.sql
10. Export và Import một database trong 1 dòng lệnh
Chúng ta có thể kết hợp quá trình sao lưu và khôi phục 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.sql0
Trong câu lệnh trên, chúng ta xuất file backup của cơ sở dữ liệu có tên database_name, đồng thời import nó vào cơ sở dữ liệu mới 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ỗ import vào nhé.database_name, đồng thời import nó vào cơ sở dữ liệu mới 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ỗ import 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 file .my.cnf trong thư mục homeTạo file .my.cnf trong thư mục home
mysqldump -u root -p database_name > database_name.sql1
Thêm đoạn code sau vào file vừa tạo:
mysqldump -u root -p database_name > database_name.sql2
Trong đó dbuser và dbpasswd lần lượt là tên đăng nhập và mật khẩu của máy chủ MySQLdbuser 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 cho file để chỉ có bạn hoặc người được bạn cấp quyền mới có thể đọc và sửa file này Thiết lập quyền truy cập cho file để chỉ có bạn hoặc người được bạn cấp quyền mới có thể đọc và sửa file này
mysqldump -u root -p database_name > database_name.sql3
Bước 3: Tạo directory để chứa file backupTạo directory để chứa file backup
mysqldump -u root -p database_name > database_name.sql4
Bước 4: Mở file crontabMở file crontab
mysqldump -u root -p database_name > database_name.sql5
Bạn thêm dòng lênh sau để tự động backup vào lúc 5 giờ sáng mỗi ngày:
mysqldump -u root -p database_name > database_name.sql6
Đừng quên thay thế username với tên username thật.
Bạn cũng có thể tự động xóa các file backup trong thời gian 45 ngày bằng cách tạo một file cronjob với nội dung:
mysqldump -u root -p database_name > database_name.sql7
Với /path/to/backups là đường dẫn tới thư mục chứa file backup./path/to/backups là đường dẫn tới thư mục chứa file backup.
Cách 2: Sử dụng phpMyAdmin để backupMySQL Database
Bước 1: Trong cPanel hoặc các bảng điều khiển hosting khác, bạn mở phpMyAdminTrong cPanel hoặc các bảng điều khiển hosting khác, bạn mở phpMyAdmin
Bước 2: Chọn cơ sở dữ liệu cần sao lưu ở bên tay tráiChọn cơ sở dữ liệu cần sao lưu ở bên tay trái
Bước 3: Chọn tab Export ở phần menuChọn tab Export ở phần menu
Bước 4: Bạn chọn export method là Custom – display all possible optionsBạn chọn export method là Custom – display all possible options
Bước 5: Chọn các table mà bạn muốn sao lưuChọn các table mà bạn muốn sao lưu
Đánh dấu tick vào những 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.
Bước 6: Trong mục Compression bạn lựa chọn Gzipped còn các mục khác bạn giữ nguyênTrong mục Compression bạn lựa chọn Gzipped còn các mục khác bạn giữ nguyên
Bước 7: Nhấn nút Go để tải file xuống. File tải xuống sẽ có đuôi .sql.gzNhấn nút Go để tải file xuống. File tải xuống sẽ có đuôi .sql.gz
Cách 3: Hướng dẫn sao lưu MySQL database và các tệp tin vào FTP Server
Đối với những quản trị viên website dày dạn kinh nghiệm và đang sử dụng một máy chủ VPS, sẽ là tốt nhất nếu bạn sao lưu cơ sở dữ liệu MySQL và các tệp web server vào máy chủ FTP. Với giao thức FTP hoặc NAS, thông tin được an toàn trong quá trình truyền và nhận file. Bạn sẽ sử dụng lệnh mysqldump để backup lần lượt từng database, sau đó chuyển các file backup lên FTP server.
mysqldump -u root -p database_name > database_name.sql8
Cách 4: Sử dụng PHP để sao lưu MySQL database
Bạn có thể sử dụng đoạn code PHP dưới đây để sao lưu cơ sở dữ liệu MySQL với truy vấn SELECT INTO OUTFILESELECT INTO OUTFILE
mysqldump -u root -p database_name > database_name.sql9
Để restore các file backup, bạn sử dụng truy vấn LOAD DATA INFILE:LOAD DATA INFILE:
mysqldump database_name > database_name.sql0
Cách 5: Hướng dẫn sao lưu MySQL database 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 terminal của các máy Linux. Với các 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 Puttyhosting, 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 terminal của các máy Linux. Với các 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 MySQL Database khác
– Backup MySQL database 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 một shell script. Về cơ bản, chúng ta sẽ chạy shell script sử dụng các lệnh mysqldump và gzip để nén file backup tương tự như phần trên sau đó dùng AWS CLI để upload file 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
– Backup MySQL Database 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.sql1
– Sử dụng AutoMyQueryBackup để tự động backup MySQL database
automysqlbackup có đầy đủ các tùy chọn: backup một database, nhiều database hoặc tất cả database. File backup sẽ được nén dưới dạng gzip hoặc bzip2. Nó cũng sẽ thường xuyên dọn dẹp những bản backup cũ để không làm đầy ổ cứng.
– Sử dụng Shell Script trong Ubuntu để backup MySQL database
Lời kết
Bây giờ bạn đã biết cách backup và restore 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 những bài viết tiếp theo trên blog của chúng tôi.backup và restore 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 những 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 vào 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, domain, hosting, vps, server, email,… Chúc bạn thành công.
Dịch vụ cho thuê chỗ đặt máy chủ [Colocation]
BKHOST cung cấp dịch vụ cho thuê chỗ đặt server [Colocation] đạt tiêu chuẩn Tier 3 quốc tế:
- Kết nối ổn định.
- Hệ thống điện dự phòng sẵn sàng.
- Hệ thống làm mát 24/24.
- Hệ thống an toàn cháy nổ.
- …
Cam kết giá tốt nhất thị trường. Đăng ký ngay hôm nay:
thuê chỗ đặt máy chủ giá rẻ