Theo mặc định mysqldump
luôn tạo CREATE DATABASE IF NOT EXISTS db_name;
ở đầu tệp kết xuất.
[ CHỈNH SỬA ] Vài điều về mysqldump
tệp và các tùy chọn của nó:
--all-databases
, -A
Kết xuất tất cả các bảng trong tất cả các cơ sở dữ liệu. Điều này cũng giống như cách sử dụng --databases
và đặt tên cho tất cả các cơ sở dữ liệu trên dòng lệnh.
--add-drop-database
Thêm DROP DATABASE
trước mỗi CREATE DATABASE
tuyên bố. Tùy chọn này thường được sử dụng cùng với --all-databases
hoặc --databases
tùy chọn vì không có CREATE DATABASE
các câu lệnh được viết trừ khi một trong các tùy chọn đó được chỉ định.
--databases
, -B
Kết xuất một số cơ sở dữ liệu. Thông thường, mysqldump
coi đối số tên đầu tiên trên dòng lệnh là tên cơ sở dữ liệu và các tên sau là tên bảng. Với tùy chọn này, nó coi tất cả các đối số tên là tên cơ sở dữ liệu. CREATE DATABASE
và USE
các câu lệnh được đưa vào đầu ra trước mỗi cơ sở dữ liệu mới.
--no-create-db
, -n
Tùy chọn này loại bỏ CREATE DATABASE
các câu lệnh khác được bao gồm trong đầu ra nếu --databases
hoặc --all-databases
tùy chọn được đưa ra.
Một thời gian trước, có một câu hỏi tương tự thực sự hỏi về việc không có câu lệnh như vậy ở đầu tệp (đối với tệp XML). Liên kết đến câu hỏi đó ở đây .
Vì vậy, để trả lời câu hỏi của bạn:
- nếu bạn có một cơ sở dữ liệu để kết xuất, bạn phải có
--add-drop-database
trongmysqldump
của bạn tuyên bố. - nếu bạn có nhiều cơ sở dữ liệu để kết xuất, bạn nên sử dụng tùy chọn
--databases
hoặc--all-databases
vàCREATE DATABASE
cú pháp sẽ được thêm vào tự động
Thông tin thêm tại Hướng dẫn Tham khảo MySQL