Tôi đang tìm kiếm cú pháp để bỏ tất cả dữ liệu trong cơ sở dữ liệu mysql của tôi. Tôi không muốn bất kỳ thông tin bảng.
Tôi đang tìm kiếm cú pháp để bỏ tất cả dữ liệu trong cơ sở dữ liệu mysql của tôi. Tôi không muốn bất kỳ thông tin bảng.
Câu trả lời:
mysqldump --no-create-info ...
Ngoài ra, bạn có thể sử dụng:
--skip-triggers
: nếu bạn đang sử dụng kích hoạt--no-create-db
: nếu bạn đang sử dụng --databases ...
tùy chọn--compact
: nếu bạn muốn thoát khỏi những bình luận thêmmysqldump -u USERNAME -h HOST --no-create-info --skip-triggers YOURDATABASENAME YOURTABLENAME --where='id=12345678'
Access denied for user ... to database '...' when doing LOCK TABLES
, hãy sử dụng--single-transaction
--where
. Ví dụ:--where="id=2"
Điều này sẽ làm việc:
# To export to file (data only)
mysqldump -u [user] -p[pass] --no-create-info mydb > mydb.sql
# To export to file (structure only)
mysqldump -u [user] -p[pass] --no-data mydb > mydb.sql
# To import to database
mysql -u [user] -p[pass] mydb < mydb.sql
LƯU Ý: không có khoảng cách giữa -p
&[pass]
--no-create-db
là dư thừa khi sử dụng--no-create-info
-p
là tốt
ps -ef
)
-p
tùy chọn sẽ mysqldump
nhắc nhở mật khẩu.
>> man -k mysqldump [enter in the terminal]
bạn sẽ tìm thấy lời giải thích dưới đây
--no-tạo-thông tin, -t
Không viết các câu lệnh CREATE TABLE tạo lại mỗi bảng được kết xuất. Lưu ý Tùy chọn này không loại trừ các câu lệnh tạo nhóm tệp nhật ký hoặc không gian bảng từ đầu ra mysqldump; tuy nhiên, bạn có thể sử dụng tùy chọn --no-framespaces cho mục đích này.
- không có dữ liệu, -d
Không viết bất kỳ thông tin hàng của bảng (nghĩa là không đổ nội dung bảng). Điều này hữu ích nếu bạn chỉ muốn kết xuất câu lệnh CREATE TABLE cho bảng (ví dụ: để tạo một bản sao trống của bảng bằng cách tải tệp kết xuất).
# To export to file (data only)
mysqldump -t -u [user] -p[pass] -t mydb > mydb_data.sql
# To export to file (structure only)
mysqldump -d -u [user] -p[pass] -d mydb > mydb_structure.sql
Sẽ đề nghị sử dụng đoạn mã sau. Hoạt động tốt ngay cả với các bảng lớn (nếu không, bạn sẽ mở kết xuất trong trình chỉnh sửa và loại bỏ những thứ không cần thiết, phải không?)
mysqldump --no-create-info --skip-triggers --extended-insert --lock-tables --quick DB TABLE > dump.sql
Ít nhất là yêu cầu mysql 5.x , nhưng ngày nay ai chạy thứ cũ .. :)
Chỉ cần đổ dữ liệu ở định dạng văn bản phân cách .
Khi cố gắng xuất dữ liệu bằng câu trả lời được chấp nhận, tôi đã gặp lỗi:
ERROR 1235 (42000) at line 3367: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'
Như đã đề cập ở trên:
mysqldump --no-create-info
Sẽ xuất dữ liệu nhưng nó cũng sẽ xuất các câu lệnh kích hoạt tạo. Nếu giống như tôi, cấu trúc cơ sở dữ liệu đầu ra của bạn (cũng bao gồm các trình kích hoạt) với một lệnh và sau đó sử dụng lệnh trên để nhận dữ liệu bạn cũng nên sử dụng '--skip-trigger'.
Vì vậy, nếu bạn muốn CHỈ dữ liệu:
mysqldump --no-create-info --skip-triggers