Bạn có thể làm điều này:
mysqldump -u root -p -h <db-host> --opt <db-name> -d --single-transaction | sed 's/ AUTO_INCREMENT=[0-9]*\b//' > <filename>.sql
Như những người khác đã đề cập, Nếu bạn muốn sed
để hoạt động bình thường, hãy thêm g
(cho g thay thế lobal) tham số như thế này:
mysqldump -u root -p -h <db-host> --opt <db-name> -d --single-transaction | sed 's/ AUTO_INCREMENT=[0-9]*\b//g' > <filename>.sql
(điều này chỉ hoạt động nếu bạn đã cài đặt Công cụ GUI:mysqldump --skip-auto-increment
)
CẬP NHẬT mới nhờ nhận xét.
\b
là vô ích và đôi khi sẽ phá vỡ lệnh. Xem chủ đề SO
này để được giải thích. Vì vậy, câu trả lời được tối ưu hóa sẽ là:
mysqldump -u root -p -h <db-host> --opt <db-name> -d --single-transaction | sed 's/ AUTO_INCREMENT=[0-9]*//g' > <filename>.sql