2010-01-11 34 views
5

Tôi đang cố gắng đổ cơ sở dữ liệu lớn bằng lệnh mysqldump. Tôi muốn tránh lệnh 'sử dụng cơ sở dữ liệu' trong tệp sql được tạo. Điều này là do tôi muốn tạo cùng một cơ sở dữ liệu với một tên khác. Vì kích thước tệp sql lớn nên tôi không thể mở tệp sql và chỉnh sửa nó.Câu hỏi Mysqldump

Tôi đã thử --no-create-db nhưng tôi vẫn đang sử dụng lệnh trong tệp kết xuất

Vui lòng trợ giúp.

Trả lời

1

Bạn có thể đăng bài này trên serverfault, nhưng nếu bạn đang ở trên một hộp linux, bạn có thể xem xét sed (hoặc perl/python script) để thay thế tên cơ sở dữ liệu hoặc xóa dòng "sử dụng".

1

Cách để làm điều này là để chạy mysqldump một lần cho mỗi cơ sở dữ liệu. Họ theo cách tôi đã làm là mysqldump -u user -p --tables databasename. Điều này bãi tất cả các bảng cho một cơ sở dữ liệu và loại bỏ câu lệnh cơ sở dữ liệu USE.

9

Có lẽ bạn sử dụng một cái gì đó như thế này:

mysqldump -u -p <other options> --database your_database > file.sql

tôi phát hiện ra rằng khi bạn sử dụng --database , tập lệnh được tạo bằng dòng 'sử dụng your_database'. Vì vậy, không sử dụng tùy chọn đó và dòng đã biến mất:

mysql -u -p <other options> your_database > file.sql