我有一个大的 sql 文件(500mb),想把它分成几块。我使用了 shell 命令 split 但它不会在特殊模式(例如 INSERT)之前拆分上下文感知,因此会破坏 SQL 语句。
目的是让两个 250mb 的文件都仍然只包含有效的 SQL 命令。这可能吗?
我有一个大的 sql 文件(500mb),想把它分成几块。我使用了 shell 命令 split 但它不会在特殊模式(例如 INSERT)之前拆分上下文感知,因此会破坏 SQL 语句。
目的是让两个 250mb 的文件都仍然只包含有效的 SQL 命令。这可能吗?
利用:
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/