我正在使用MySqlConnection类连接到本地MySQL数据库:
SourceHost = ConfigurationManager.AppSettings["sourceHost"];
SourceDatabase = ConfigurationManager.AppSettings["sourceDatabase"];
SourceUsername = ConfigurationManager.AppSettings["sourceUsername"];
SourcePassword = ConfigurationManager.AppSettings["sourcePassword"];
SourceString = String.Format("Server={0};Database={1};UID={2};Password={3};", SourceHost, SourceDatabase, SourceUsername, SourcePassword);
var sqlSourceConnection = new MySqlConnection(SourceString);
sqlSourceConnection.Open();
这些是App.config文件中的值
<add key="sourceHost" value="myHost" />
<add key="sourceDatabase" value="myDB" />
<add key="sourceUsername" value="myUSer" />
<add key="sourcePassword" value="myPSW" />
<add key="sourceDbType" value="mysql" />
我得到的错误是:使用密码:YES对用户[email protected]的访问被拒绝,但是通过使用myUser和myPSW凭据,我可以从命令提示符下登录。
怎么了?
编辑:当我将sourceHost更改为
<add key="sourceHost" value="localhost" />
用户myUser仅由本地主机授权。
您需要授权myUser作为您的主机名。
GRANT ALL PRIVILEGES ON *.* to 'myUser'@'%' WITH GRANT OPTION;
要么
GRANT ON *.* TO 'myUser'@'myHost.myDomain' IDENTIFIED BY 'password' ;
或者你也可以
GRANT ON *.* TO 'myUser'@'%.myDomain' IDENTIFIED BY 'password' ;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句