Mysqldump thêm bảng thả?


10

Tôi nhận thấy trong Codex rằng tùy chọn --add-drop-table được hiển thị để sao lưu cơ sở dữ liệu. Trước khi tôi làm hỏng mọi thứ, điều này chỉ có nghĩa là khi bản sao lưu cuối cùng được nhập, các bảng sẽ ghi đè lên nếu chúng tồn tại trong db đích?

Tôi không muốn làm rơi bàn khi sao lưu chúng!

user@linux:~/files/blog> mysqldump --add-drop-table -h mysqlhostserver
 -u mysqlusername -p databasename (tablename tablename tablename) | bzip2
 -c > blog.bak.sql.bz2

Enter password: (enter your mysql password)
user@linux~/files/blog>

http://codex.wordpress.org/Backing_Up_Your_Database#Using_St ức_MyQuery_Commands

Câu trả lời:


10

Nó chỉ ảnh hưởng đến đầu ra của kết xuất MySQL của bạn trong tệp được tạo.

Nó không cần thiết. Nó chỉ ở đó để nếu bạn nhập tệp kết xuất đã tạo vào cơ sở dữ liệu đã có một bảng có cùng tên, nó sẽ bỏ bảng đó và sau đó thêm bảng mới vào vị trí của nó. Nếu không, bạn sẽ gặp lỗi và tệp kết xuất sẽ không được nhập.

Nó thêm dòng này trước câu lệnh tạo bảng trong tệp kết xuất:

DROP TABLE IF EXISTS `tablename`;

Nếu bạn có kế hoạch nhập tệp kết xuất vào cơ sở dữ liệu mới, điều đó sẽ không thành vấn đề.


Bạn biết điều thú vị là ngay cả khi tôi sử dụng kết xuất mà không có tùy chọn bảng bổ trợ trên cơ sở dữ liệu WP hiện có, nó cũng hoạt động tốt.
AlxVallejo

5

Đó là bởi vì cú pháp tổng thể đi giống như:

mysql>mysqldump --opt --all-databses > all.sql

--optđược bật theo mặc định (ngụ ý --add-drop-table:) như được đề cập trong tài liệu MySQL.


0

Khi xóa --add-drop-table trong cú pháp này, --add-drop-table được sử dụng bằng mọi cách, bởi vì --opt là mặc định (trừ khi bạn sử dụng --skip-opt) và --opt bao gồm --add-drop -bàn. Xem tại đây: https://dev.mysql.com/doc/refman/5.6/en/mysqldump.html#option_mysqldump_opt

Và, như đã nói ở trên, điều đó không có nghĩa là các bảng của bạn bị hủy khi bạn sao lưu, nhưng các lệnh để thả bảng được bao gồm trong tệp sql, vì đó là những gì bạn muốn cho một kết xuất, vì vậy bạn có thể nhập kết xuất mà không nhận được lỗi mà các bảng đã tồn tại.

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.