How to Install MySQL on Ubuntu
Mục lục:
- Cú pháp lệnh Mysqldump
- Sao lưu cơ sở dữ liệu MySQL đơn
- Sao lưu nhiều cơ sở dữ liệu MySQL
- Sao lưu tất cả cơ sở dữ liệu MySQL
- Sao lưu tất cả các cơ sở dữ liệu MySQL vào các tệp riêng biệt
- Tạo một bản sao lưu cơ sở dữ liệu MySQL nén
- Tạo một bản sao lưu với dấu thời gian
- Khôi phục kết xuất MySQL
- Khôi phục cơ sở dữ liệu MySQL đơn từ kết xuất MySQL đầy đủ
- Xuất và nhập cơ sở dữ liệu MySQL trong một lệnh
- Tự động sao lưu với Cron
- Phần kết luận
Hướng dẫn này giải thích cách sao lưu và khôi phục cơ sở dữ liệu MySQL hoặc MariaDB từ dòng lệnh bằng tiện ích mysqldump.
Các tệp sao lưu được tạo bởi tiện ích mysqldump về cơ bản là một tập hợp các câu lệnh SQL có thể được sử dụng để tạo lại cơ sở dữ liệu gốc. Lệnh mysqldump cũng có thể tạo các tệp ở định dạng CSV và XML.
Bạn cũng có thể sử dụng tiện ích mysqldump để chuyển cơ sở dữ liệu MySQL của bạn sang một máy chủ MySQL khác.
Cú pháp lệnh Mysqldump
Trước khi đi vào cách sử dụng lệnh mysqldump, hãy bắt đầu bằng cách xem lại cú pháp cơ bản.
Các biểu thức tiện ích mysqldump có dạng sau:
mysqldump > file.sql
-
options- Tệp tùy chọn mysqldumpfile.sql- Tệp kết xuất (sao lưu)
Để sử dụng lệnh mysqldump, máy chủ MySQL phải có thể truy cập và chạy.
Sao lưu cơ sở dữ liệu MySQL đơn
Trường hợp sử dụng phổ biến nhất của công cụ mysqldump là sao lưu một cơ sở dữ liệu.
Ví dụ: để tạo bản sao lưu cơ sở dữ liệu có tên là
database_name
bằng cách sử dụng thư mục
root
người dùng và lưu nó vào một tệp có tên là
database_name.sql
bạn sẽ chạy lệnh sau:
mysqldump -u root -p database_name > database_name.sql
Bạn sẽ được nhắc nhập mật khẩu root. Sau khi xác thực thành công, quá trình kết xuất sẽ bắt đầu. Tùy thuộc vào kích thước cơ sở dữ liệu, quá trình có thể mất một thời gian.
mysqldump database_name > database_name.sql
Sao lưu nhiều cơ sở dữ liệu MySQL
Để sao lưu nhiều cơ sở dữ liệu MySQL bằng một lệnh, bạn cần sử dụng tùy chọn
--database
theo sau là danh sách các cơ sở dữ liệu bạn muốn sao lưu. Mỗi tên cơ sở dữ liệu phải được phân tách bằng dấu cách.
mysqldump -u root -p --databases database_name_a database_name_b > databases_a_b.sql
Lệnh trên sẽ tạo một tệp kết xuất chứa cả cơ sở dữ liệu.
Sao lưu tất cả cơ sở dữ liệu MySQL
Sử dụng tùy chọn
--all-databases
để sao lưu tất cả các cơ sở dữ liệu MySQL:
mysqldump -u root -p --all-databases > all_databases.sql
Giống như với ví dụ trước, lệnh trên sẽ tạo một tệp kết xuất duy nhất chứa tất cả các cơ sở dữ liệu.
Sao lưu tất cả các cơ sở dữ liệu MySQL vào các tệp riêng biệt
Tiện ích
mysqldump
không cung cấp tùy chọn sao lưu tất cả các cơ sở dữ liệu để tách các tệp nhưng chúng tôi dễ dàng đạt được điều đó với một vòng lặp
FOR
bash đơn giản:
for DB in $(mysql -e 'show databases' -s --skip-column-names); do mysqldump $DB > "$DB.sql"; done
Lệnh trên sẽ tạo một tệp kết xuất riêng cho mỗi cơ sở dữ liệu bằng cách sử dụng tên cơ sở dữ liệu làm tên tệp.
Tạo một bản sao lưu cơ sở dữ liệu MySQL nén
Nếu kích thước cơ sở dữ liệu rất lớn, đó là một ý tưởng tốt để nén đầu ra. Để làm điều đó, chỉ cần chuyển đầu ra sang tiện ích
gzip
và chuyển hướng nó đến một tệp như dưới đây:
mysqldump database_name | gzip > database_name.sql.gz
Tạo một bản sao lưu với dấu thời gian
mysqldump database_name > database_name-$(date +%Y%m%d).sql
Lệnh trên sẽ tạo một tệp có định dạng
database_name-20180617.sql
sau
database_name-20180617.sql
Khôi phục kết xuất MySQL
Bạn có thể khôi phục kết xuất MySQL bằng công cụ
mysql
. Cú pháp chung của lệnh như sau:
mysqld database_name < file.sql
Trong hầu hết các trường hợp, bạn sẽ cần tạo một cơ sở dữ liệu để nhập vào. Nếu cơ sở dữ liệu đã tồn tại, trước tiên bạn cần xóa nó.
Trong ví dụ sau, lệnh đầu tiên sẽ tạo một cơ sở dữ liệu có tên là
database_name
và sau đó nó sẽ nhập kết xuất
database_name.sql
liệu_name.sql vào nó:
mysql -u root -p -e "create database database_name";
mysql -u root -p database_name < database_name.sql
Khôi phục cơ sở dữ liệu MySQL đơn từ kết xuất MySQL đầy đủ
mysql --one-database database_name < all_databases.sql
Xuất và nhập cơ sở dữ liệu MySQL trong một lệnh
Thay vì tạo một tệp kết xuất từ một cơ sở dữ liệu và sau đó nhập bản sao lưu vào cơ sở dữ liệu MySQL khác, bạn có thể sử dụng một lớp lót sau:
mysqldump -u root -p database_name | mysql -h remote_host -u root -p remote_database_name
Lệnh trên sẽ dẫn đầu ra tới máy khách mysql trên máy chủ từ xa và nó sẽ nhập nó vào cơ sở dữ liệu có tên
remote_database_name
. Trước khi chạy lệnh, đảm bảo cơ sở dữ liệu đã tồn tại trên máy chủ từ xa.
Tự động sao lưu với Cron
Tự động hóa quá trình sao lưu cơ sở dữ liệu cũng đơn giản như tạo một công việc định kỳ, thứ sẽ chạy lệnh mysqldump tại thời điểm được chỉ định.
Để thiết lập sao lưu tự động cơ sở dữ liệu MySQL bằng cronjob, hãy làm theo các bước dưới đây:
-
Tạo một tệp có tên
.my.cnftrong thư mục nhà người dùng của bạn:sudo nano ~/.my.cnfSao chép và dán văn bản sau vào tệp.my.cnf.
user = dbuser password = dbpasswdĐừng quên thay thế
dbuservàdbpasswdbằng mật khẩu người dùng và mật khẩu người dùng.Hạn chế quyền của tệp thông tin đăng nhập để chỉ người dùng của bạn có quyền truy cập vào nó:
chmod 600 ~/.my.cnfTạo một thư mục để lưu trữ các bản sao lưu:
mkdir ~/db_backupsMở tệp crontab người dùng của bạn:
crontab -eThêm công việc định kỳ sau sẽ tạo bản sao lưu tên cơ sở dữ liệu
mydbmỗi ngày vào lúc 3 giờ sáng:0 3 * * * /usr/bin/mysqldump -u dbuser mydb > /home/username/db_backups/mydb-$(date +%Y%m%d).sqlĐừng quên thay thế
usernamebằngusernamethực tế của bạn.
Bạn cũng có thể tạo một cronjob khác để xóa mọi bản sao lưu cũ hơn 30 ngày:
find /path/to/backups -type f -name "*.sql" -mtime +30 -delete
Tất nhiên, bạn cần điều chỉnh lệnh theo vị trí sao lưu và tên tệp. Để tìm hiểu thêm về lệnh find, hãy kiểm tra Cách tìm tệp trong Linux bằng hướng dẫn Dòng lệnh.
Phần kết luận
Hướng dẫn này chỉ bao gồm những điều cơ bản, nhưng nó nên là một khởi đầu tốt cho bất kỳ ai muốn tìm hiểu cách tạo và khôi phục cơ sở dữ liệu MySQL từ dòng lệnh bằng tiện ích mysqldump.
Bạn cũng có thể kiểm tra hướng dẫn về cách đặt lại mật khẩu root của MySQL trong trường hợp bạn quên nó.
sao lưu mysq mariadb mysqldumpLenovo và EMC đã công bố một nỗ lực nhằm giải phóng các doanh nghiệp nhỏ khỏi sự phức tạp của việc sao lưu dữ liệu bằng cách cung cấp dịch vụ lưu trữ Mozy không giới hạn cho máy tính xách tay dòng SL của Lenovo.
Trong thỏa thuận đầu tiên đối với bộ phận Mozy, các máy tính xách tay SL dành cho doanh nghiệp nhỏ sẽ có thể đăng ký dịch vụ lưu trữ đặc biệt để sao lưu dữ liệu không hạn chế. Với dịch vụ MozyPro thường lệ, thuê bao trả mỗi gigabyte và cho mỗi người dùng.
Khắc phục: Thao tác khôi phục bằng Sao lưu và Khôi phục không thành công trong Windows 7 SP1
Bạn đang gặp phải sự cố, khi nào bạn cố gắng Bạn có gặp phải vấn đề hay không, khi bạn cố khôi phục hoặc sao lưu tệp bằng dịch vụ Sao lưu và Khôi phục thông qua Pa-nen Điều khiển, trên máy tính đang chạy Windows 7 Gói Dịch vụ 1 (SP1) hoặc Windows Server 2008 R2 Gói Dịch vụ 1 (SP1)? Nếu như vậy bài viết này có thể khiến bạn quan tâm.
Cách sao lưu / khôi phục ứng dụng Android bằng sao lưu titan
Tìm hiểu cách Sao lưu / Khôi phục Ứng dụng Android bằng Titanium Backup.







