最近公司开发新系统,新系统的数据库结构与老系统,少部分表数据需要完全迁移。
数据库是MySQL的,虽然Navicat支持数据传输和转存sql文件,但是在网络不互通和数据量过大的时候效率很低。
在这里推荐MySQL自带的工具mysqldump,mysqldump支持很多可选参数,具体参见官网说明。
下面说一下简单的步骤
1、导出表结构
mysqldump -h 192.168.1.253 -uroot -ppassword -d databaseName tableName > table_structure.sql
2、导出表结构及数据
mysqldump -h 192.168.1.253 -uroot -ppassword databaseName tableName > table_data.sql
3、导入表及数据
mysql -h 192.168.1.253 -uroot -ppassword newDatabase< table_structure.sql
mysql -h 192.168.1.253 -uroot -ppassword newDatabase< table_data.sql
mysqldump与Navicat转存SQL的最大区别是,mysqldump的导入是一个insert into,而Navicat是每条数据一个insert into。