java调用mysql命令备份恢复数据库的时候,命令在cmd下执行可恢复数据库,但在java程序中调用该命令却无法恢复数据库.      String stmt = "C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\mysql -h127.0.0.1 wconfigserverdb -uroot -p123456 < f:\\test.sql";

      Runtime.getRuntime().exec(stmt);

解决方案 »

  1.   

    在你电脑或服务器上设置MySQL的环境变量,这个你应该会吧,就是在PATH里加上你Mysql的bin目录,然后重启电脑,OK了。
      

  2.   

    不行啊,这个东西是要做成exe执行程序给客户用的,不能要求客户去设置环境变量啊.有没有其他的解决办法?
      

  3.   

    你写一段环境变量的命令行,写到.bat文件里面,把这个.bat打包到你的exe里面。
      

  4.   

    这样不行吗?   String stmt1 = "set path=C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin";
       Runtime.getRuntime().exec(stmt1);
       //然后再执行恢复数据库操作
      

  5.   

    不行,必须要有Mysql的环境变量,这个问题我也刚解决
      

  6.   

    这就很麻烦了,就算执行exe的时候去设置环境变量,然后还需要重启,这对用户体验很不好啊.
      

  7.   

    嗯,C/S模式我不太懂,我做的都是B/S,程序都在服务器上,只要把服务器设置好的就OK了,其实有些程序安装时都需要重启电脑的,用户体验应该也没什么关系吧。
      

  8.   

    String load = "cmd /c mysql --host=192.168.0.254 --port=3306 --user=root --password=123456 basename < " + basename.txt;