0

我有一个大的 sql 文件(500mb),想把它分成几块。我使用了 shell 命令 split 但它不会在特殊模式(例如 INSERT)之前拆分上下文感知,因此会破坏 SQL 语句。

目的是让两个 250mb 的文件都仍然只包含有效的 SQL 命令。这可能吗?

4

1 回答 1

0

利用:

mysqldump -u admin -p database1 > /backup/db/database1.sql

或者

mysqldump -u admin -p --all-databases > /backup/db/all_databases.sql

如果您只有 MyISAM 表,您可以使用:

mysqlhotcopy -u admin -p password123 database1 /backup

更快的备份。mysqlhotcopy不生成 sql 而是复制数据库的文件。

要恢复mysqldumped数据库,请使用:

mysql -u admin -p database1 < database.sql

或者

mysql -u admin -p <all_databases.sql

对于mysqlhotcopy

要从 mysqlhotcopy 备份恢复备份,只需将文件从备份目录复制到 /var/lib/mysql/{db-name} 目录。为了安全起见,请确保在恢复(复制)文件之前停止 mysql。将文件复制到 /var/lib/mysql/{db-name} 后,再次启动 mysql。

见这里:http ://www.thegeekstuff.com/2008/07/backup-and-restore-mysql-database-using-mysqlhotcopy/

于 2013-05-25T10:47:00.703 回答