java执行sh文件(linux)
String shellcmd = "sh /data/test.sh ";
Runtime.getRuntime().exec(shellcmd);
java执行命令导入导出mysql数据(linux)
注意:这个很坑的,明明whereis sh查询到的文件路径是/usr/bin/sh, /bin/sh文件whereis查询不到,之前尝试一直失败
导入: runtime.exec(new String[] { "/bin/sh","-c", "mysql -h localhost -u"+PropKit.get("user")+" -p"+PropKit.get("password")+" talos<"+fName});
导出: runtime.exec(new String[] { "/bin/sh","-c", "mysqldump --skip-comments -u"+PropKit.get("user")+" -p"+PropKit.get("password")
+" -h localhost -P3306 --routines --default-character-set=utf8 --no-create-db --no-create-info --tables dbname "
+tableName+" --where=\"code="+code+"\"> "+sqlPath.toString()});
java在指定目录下操作mysql(windows)
导出: runtime.exec("cmd /c mysqldump --skip-comments -u"+PropKit.get("user")+" -p"+PropKit.get("password")
导入: +" -h localhost -P3306 --routines --default-character-set=utf8 --no-create-db --no-create-info --tables dbname "
+tableName+" --where=\"code="+code+"\"> "+sqlPath.toString(), null, new File(buff.toString()));
runtime.exec("cmd /c mysql -h localhost -u"+PropKit.get("user")+" -p"+PropKit.get("password")+" talos<"+fName, null, new File(buff.toString()));
纯命令导出语句:
source /文件名.sql
mysql -hlocalhost -uroot -p123456 talos< /data/t_xxx_ext.sql
mysqldump --skip-comments -uroot -p123456 -h localhost -P3306 --routines --default-character-set=utf8
--no-create-db --no-create-info --tables 数据库名 表名> /data/t_xxx_ext.sql