Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để sao lưu toàn bộ cơ sở dữ liệu MySQL với tất cả người dùng và quyền và mật khẩu?

Về cơ bản nhất, lệnh mysqldump bạn có thể sử dụng là:

mysqldump -u$user -p$pass -S $socket --all-databases > db_backup.sql

Điều đó sẽ bao gồm cơ sở dữ liệu mysql, sẽ có tất cả người dùng / bảng privs.

Có những hạn chế khi chạy điều này trên hệ thống sản xuất vì nó có thể gây ra khóa. Nếu bảng của bạn đủ nhỏ, nó có thể không có tác động đáng kể. Bạn sẽ muốn kiểm tra nó trước.

Tuy nhiên, nếu bạn đang chạy một môi trường InnoDB thuần túy, bạn có thể sử dụng --single-transaction cờ sẽ tạo kết xuất trong một giao dịch duy nhất (lấy nó) do đó ngăn chặn việc khóa trên cơ sở dữ liệu. Lưu ý, có những trường hợp góc trong đó FLUSH TABLES ban đầu lệnh chạy bởi kết xuất có thể khóa các bảng. Nếu đúng như vậy, hãy hủy kết xuất và khởi động lại nó. Tôi cũng khuyên bạn rằng nếu bạn đang sử dụng cái này cho mục đích sao lưu, hãy sử dụng --master-data cũng như gắn cờ để lấy tọa độ nhật ký nhị phân từ nơi kết xuất được thực hiện. Bằng cách đó, nếu bạn cần khôi phục, bạn có thể nhập tệp kết xuất rồi sử dụng mysqlbinlog lệnh để phát lại các tệp nhật ký nhị phân từ vị trí nơi kết xuất này được thực hiện.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python MySql Insert không hoạt động

  2. Truy vấn chèn MySQL không hoạt động với mệnh đề WHERE

  3. Cách sử dụng 'select' trong câu lệnh 'insert' MySQL

  4. Trang web hiện đang offline do gặp lỗi - Mautic

  5. Làm thế nào để thiết lập Hibernate để đọc / ghi vào các nguồn dữ liệu khác nhau?