Liệu mysqldump -all-cơ sở dữ liệu bao gồm tất cả các đối tượng


16

mysqldump -all-databasesbao gồm tất cả các đối tượng?

Tôi phải di chuyển tất cả các cơ sở dữ liệu sang máy chủ mới.

Câu trả lời:


21

Không có mysqldump -all-cơ sở dữ liệu không bao gồm tất cả các đối tượng

mysqldump --help

  -A, --all-databases Dump all the databases. This will be same as --databases
                      with all databases selected.

Vì vậy, mysqldump với --all-cơ sở dữ liệu chỉ kết xuất tất cả các cơ sở dữ liệu.

Để di chuyển tất cả các cơ sở dữ liệu sang một máy chủ mới, bạn nên sao lưu hoàn chỉnh:

mysqldump toàn bộ một ví dụ mysql

mysqldump -h... -u... -p... --events --routines --triggers --all-databases > MySQLData.sql

Hạn chế là các bản sao lưu được tạo theo cách này chỉ có thể được tải lại vào cùng một phiên bản phát hành chính của mysql mà mysqldump đã được tạo. Nói cách khác, một cơ sở dữ liệu mysqldump --all từ cơ sở dữ liệu MySQL 5.0 có thể được tải trong 5.1 hoặc 5.5. Nguyên nhân ? Lược đồ mysql hoàn toàn khác nhau giữa các bản phát hành chính.

Đây là cách chung để kết xuất SQL Grants cho người dùng dễ đọc và dễ mang theo hơn

mysql -h... -u... -p... --skip-column-names -A -e"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>''" | mysql -h... -u... -p... --skip-column-names -A | sed 's/$/;/g' > MySQLGrants.sql

Hãy xem câu trả lời từ RolandoMyQueryDBA về Làm thế nào tôi có thể tối ưu hóa một mysqldump của một cơ sở dữ liệu lớn?


1
Bạn quên --events đó là cần thiết, thêm vào --routines--triggersvà bạn cũng bỏ qua --single-transactionđể tránh bị khóa bảng không cần thiết.
Michael - sqlbot

1
Để chắc chắn rằng nó rõ ràng, --single-transactionsẽ không tạo ra một bản sao lưu nhất quán nếu có các bảng MyISAM được ghi trong khi bản sao lưu chạy. Tuy nhiên, thêm --single-transactionlà một ý tưởng tốt nếu bạn đang sử dụng tất cả InnoDB và muốn tránh bị chặn trong khi mysqldumpchạy.
James L
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.