Process process = Runtime.getRuntime().exec(mysqlpath+"mysqldump -h" + hostIP + " -u" + userName + " -p" + password + " --set-charset=UTF8 " + databaseName+" --tables "+backupTables);
即命令 mysqldump -hlocalhost -uroot -proot --set-charset=UTF8 dataBase --tables test_table1 test_table2>D:\\db.sql命令
导出的时候可能因为一些表的外键问题或key值问题导致导出成功但是数据丢失的问题,找了很久没找到问题,偶然间看到一篇博客说是一些导出的注意事项:insert语句采用是multiline insert synax.而不是采用single insert synax.原来是这个问题. 多行的插入语法在第一个主健重复错误后就不执行后续的对应表的插入语句了.
于是再加参数 --extended-insert=false,完整的命令是
mysqldump --extended-insert=false -hlocalhost -uroot -proot --set-charset=UTF8 dataBase --tables test_table1 test_table2>D:\\db.sql
objk!!!