Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从java运行mysql命令_Java_Mysql - Fatal编程技术网

从java运行mysql命令

从java运行mysql命令,java,mysql,Java,Mysql,嗨,我有一个JAVA项目,我想在其中显示MySQL数据库。 我写这段代码: try { String []command={"mysql -u root -pmanager","show databases"}; Process p= Runtime.getRuntime().exec("mysql -u root -pmanager"); Process p1= Runtime.getRuntime().exec("show databases");

嗨,我有一个JAVA项目,我想在其中显示MySQL数据库。 我写这段代码:

try {
     String []command={"mysql -u root -pmanager","show databases"};
        Process p= Runtime.getRuntime().exec("mysql -u root -pmanager");
        Process p1= Runtime.getRuntime().exec("show databases");
        if (p.waitFor()==0){System.out.println("backup done...");}
        else{System.out.println("!!!");}
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
但它给了我一个错误:

Cannot run program "show": CreateProcess error=2, The system cannot find the file specified
它应该做什么?
谢谢…

最好在exec方法中传递字符串对象,如:

Runtime.getRuntime().exec(  new String [] {"mysql", "-u", "root", "-pmanager", "-e", "show databases"} )

最好在exec方法中传递字符串对象,如:

Runtime.getRuntime().exec(  new String [] {"mysql", "-u", "root", "-pmanager", "-e", "show databases"} )

您需要指定什么是“mysql”来命令提示符。。。
示例-C:\Program Files\MySQL\MySQL Server 5.7\bin\MySQL

您需要在命令提示符中指定什么是“MySQL”。。。
示例-C:\Program Files\MySQL\MySQL Server 5.7\bin\MySQL

您没有在
MySQL
中执行
show
,而是作为一个新的命令行命令执行。我不确定,但请尝试从MySQL进程获取outpustream并写入该命令。请参阅帖子,它展示了如何使用java获取mysql数据库名称。
show databases
也可以通过JDBC运行。为什么要将其作为外部进程运行?为mysql.exe为进程添加完全限定的路径您没有在
mysql
中执行
show
,而是将其作为新的命令行命令执行。我不确定,但请尝试从mysql进程获取outpustream并写入该进程。请参阅帖子,它展示了如何使用java获取mysql数据库名称。
show databases
也可以通过JDBC运行。为什么要将其作为外部进程运行?请为mysql.exe for进程添加完全限定路径