导出语句:
mysqldump -h127.0.0.1 -P3306 -uroot -p123456 databaseName > exportSql.sql
其中:MySQLdump是导出命令,
-h后面是要导出的数据库数据所在的主机IP,
-P后面是端口号(注意这个p是大写),
-u后面是用户名,
-p后面是密码(注意这个p是小写,-p关键字和密码之间不要有空格,否则在命令行中执行该语句后会让重新输入密码,而且该语句中的密码会被判断成数据库名导致报错:未知的数据库名“密码”),
databaseName是要导出的数据库名,
exportSql.sql是导出的SQL文件;
另外导出语句中还有其他关键字(可选且无序):
-d 表示只导出结构不导出数据,无参数;
-t 表示只导出数据不导出结构,无参数(它与-d是二选一,或者都不选结果会导出结构和数据);
-add-drop-table 表示每个数据表创建之前添加drop数据表语句(默认为打开状态),可以使用-skip-drop-table取消drop语句,无参数;
-ignore-table=tableName 表示不导出指定表,参数是表名,如过要指定多个表不导出,需要多个-ignore-table=tableName,表名必须是数据库名.表名的格式;
> 符号后面是导出的SQL文件,可以指定路径(绝对路径或者相对路径);
导入语句:
mysql -h127.0.0.1 -P3306 -uroot -p123456 databaseName < exportSql.sql
该命令无需进入MySQL,另外还可使用source命令导入SQL(需先进入并指定数据库):source exportSql.sql;
以上的导出、导入语句均可在命令行中之间运行,也可写在bat文件中并双击bat文件执行命令;
另外也可用Java执行该命令:Runtime.getRuntime().exec(command);
在Java中执行该命令时,
如在Windows下运行该Java程序:该command=“cmd /c mysqldump -p127.0.0.1....",注意前面添加了“cmd /c ”;
如在Linux下运行该Java程序:该command={“/bin/sh”,"-c","mysqldump -p127.0.0.1...."},注意“/bin/sh”,"-c";
如有错误,欢迎指正。