linux java mysql源命令未知数据库

oo7oh9g9  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(244)

我在ubuntu上使用java连接mysql服务器
这是java代码:

Runtime.getRuntime().exec("mysql -u user -ppass -e \"source filename "\"");

但它总是给我这个错误

ERROR 1049 (42000): Unknown database 'filename'

它在windows10下工作,在ubuntu-18.04终端上直接命令“mysql-u user-ppass-e”source filename
我是linux新手,有什么想法吗?

nkoocmlb

nkoocmlb1#

Runtime.exec("mysql db_name <"fource file_name");

例如:

Runtime.exec("mysql db_name </home/ferrakkem/download/tpch/queries/Q1.sql");

更多详情:请查看此文档

x759pob2

x759pob22#

这个变种 exec 依赖于命令的标记化(因此在空格上拆分),对于包含空格的非平凡命令行字符串将失败。使用另一种形式的 exec ,自己构建参数数组:

String[] args = {
            "mysql", "-u", "user", "-ppass", "-e", "\"source filename\""
    };
Runtime.getRuntime().exec(args);

相关问题