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 Show
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 Cách 1. Use mysqldump to backup and recovery MySQL databaseMysqldump 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
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ảnChú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 đó.
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ệpCâ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ệuNế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 backupChú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ưuChúng ta sử dụng câu lệnh mysql để khôi phục lại các bản sao lưu ________số 8Dò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ệuTrong 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ệnhChú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.sql0 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 jobBạ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.sql1 Thêm mã đoạn sau vào tệp 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ủ 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.sql3 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.sql5 You add up line after to auto backup into at 5 time light each day mysqldump -u root -p database_name > database_name.sql6 Đừ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.sql7 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 MySQLBước 1. Trong cPanel hoặc các bảng điều khiển hosting khác, bạn mở phpMyAdmin Sử dụng phpMyAdmin để sao lưu cơ sở dữ liệu MySQLBước 2. Chọn cơ sở dữ liệu cần sao lưu ở bên tay trái Chọn cơ sở dữ liệu cần sao lưu trong phpMyAdminBước 3. Select tab Export in section menu Chọn xuất tabBước 4. You select export method is Custom – hiển thị tất cả các tùy chọn có thể Option Export method is CustomBướ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 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 Nén file with gzip formatBước 7. Click nút Go to download file down. Tải xuống tệp sẽ có đuôi. sql. gz Tải file backup xuongCá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.sql8 Cách 4. Sử dụng PHP để sao lưu cơ sở dữ liệu MySQLBạ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 SSHTrong 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.sql9 – 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ếtBâ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. ) |