为了备份虚拟主机的mysql数据库,只能用mysqldump导出到本地。

一.在CMD上运行:

   mysqldump --opt -h192.168.0.156 -uUsername -pPassword databaseName>database.sql  


     但由于数据库用户的权限不够,总显示: mysqldump导出远程数据库

  1. mysqldump: Got error: 1044: Access denied for user 'Username'@'%' to database 'databaseName' when using LOCK TABLES  

    是没有LOCK TABLES的权限,于是查看mysqldump的帮助,加上参数--skip-lock-tables ,如下:mysqldump导出远程数据库

         mysqldump --opt -h192.168.0.156 -uUsername -pPassword --skip-lock-tables databaseName>database.sql  

二:用Java代码操作

Runtime runtime = Runtime.getRuntime();

Process process = runtime.exec("cmd /c mysqldump  --opt -hlocalhost -uroot -proot abc_unicms>d:/databasewanglong.sql");

和cmd不同的是在执行字符串前必须加上cmd /c.

相关文章: