Mysql导入命令在cmd上运行时工作,但在直接传递参数时不工作

时间:2016-11-09 08:50:15

标签: mysql command-line cmd

documentation开始,最基本形式的导入命令是:

mysql.exe < example.sql

当我从Windows的命令行运行它时,它可以正常工作。但是,当我使用mysql.exe参数启动流程< example.sql时,它无效。例如,创建快捷方式并将其路径设置为mysql.exe < example.sql不起作用,它仅打印mysql.exe的帮助信息。

作为旁注,我在尝试运行以下C#代码时首先注意到了这个问题:

new Process
        {
            StartInfo = new ProcessStartInfo
            {
                FileName = "mysql.exe",
                Arguments = "< example.sql",
            }
        }.Start();

2 个答案:

答案 0 :(得分:2)

< example.sql部分不构成mysql.exe的参数; <字符表示redirection运算符,因此文件example.sql的内容会重定向到mysql.exe

我猜您必须将文件名更改为cmd.exe,并将参数更改为/C "mysql.exe < example.sql"。考虑指定所有文件的完整绝对路径。

答案 1 :(得分:0)

我不在Windows工作,但我认为你最好填写完整路径+数据库主机名信息:

C:\mysql\directory\bin\mysql -h {hostname} -u {username} -p {databasename} < example.sql
相关问题