mysqldump.exe需要密码,即使它在参数中给出

时间:2017-07-26 09:50:55

标签: c# mysql process

问题说明了一切 - 我正在创建一个col_2,我正在将一个Process对象与ProcessStartInfoProcessStartInfo.fileName作为构造函数参数传递给此进程

作为ProcessStartInfo.Arguments我正在使用已包含在项目文件夹中的mysql.exe。

我的ProcessStartInfo.fileName字符串看起来像这样;

ProcessStartInfo.Arguments

当我启动该过程时,控制台要求输入密码 - 问题是我不想重新输入密码。身份验证和转储都应该在一个步骤中执行 - 这可能吗?

我正在使用Visual Studio 2017 Enterprise和.NETCoreApp 1.1框架。

编辑: 当我没有使用密码时,一切正常。 .sql-File已创建 并且数据库已成功转储。

2 个答案:

答案 0 :(得分:0)

编写使用MySQL或Mongodb等数据集的应用程序时,您永远不希望以纯文本格式存储密码。您应该将隐藏的文本框隐藏起来以隐藏密码,或者在编译时使用项目内部的文件来保存密码。

当你使用" -p"参数它将假定您要输入密码与" -u"相同。请尝试使用--username和--password来设置要连接的用户名和密码。

答案 1 :(得分:0)

-p和实际密码之间不应该有空格,所以请尝试删除它,例如'

  

-p1234

当然,输入这样的密码可能不是最安全的选择!