我有一个大的sql文件(500mb),并希望将其拆分为块。 我使用了shell命令split,但它没有在特殊模式(例如INSERT)之前拆分上下文,从而破坏了SQL语句。
目标是让两个250mb文件仍然只包含有效的SQL命令。这可能吗?
答案 0 :(得分: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/