从java运行mysql命令
嗨,我有一个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");
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进程添加完全限定路径