当我运行以下mysqldump命令时,它将INSERT组合在一起。
mysqldump --user=username --password=password --host=localhost database | gzip > /parth/to/folder/backup.sql.gz
E.g:
INSERT INTO tbl_name VALUES (1,2,3), (4,5,6), (7,8,9)
这对于节省空间非常有用,但是我很难导入3GB的sql文件。我有一个脚本,可以部分上传大型SQL文件。它会分隔行,以便服务器/页面不会超时。
我更喜欢的是:
INSERT INTO tbl_name VALUES (1,2,3);
INSERT INTO tbl_name VALUES (4,5,6);
INSERT INTO tbl_name VALUES (7,8,9);
这可能吗?
答案 0 :(得分:2)
您可以通过以下方式完成:
mysqldump -uUSER --skip-extended-insert -p DATABASE | gzip > dump.sql.gz
其中USER
是您的用户,DATABASE
是您的数据库。
但是 - 真的,为什么这样做?多次插入在性能方面更好。
另外,提示:如果您正在键入此命令(即它不是某些脚本的一部分) - 请不要提供密码,因为它将保存在历史记录中(默认情况下) - 这可能是不安全的(在单个上面的示例中) -standing -p
选项表示交互密码提示)