使用方法'mysql_native_password'对用户'root'的主机'localhost'进行身份验证失败,并显示以下消息:未知数据库'xxx'

时间:2016-06-25 11:09:50

标签: mysql asp.net asp.net-web-api2 mysql-workbench

我在项目中使用代码优先方法。但是,当我尝试使用'update-database'命令运行db-migrations时,我得到空引用异常,当我运行应用程序时,我收到以下配置错误: 使用方法'mysql_native_password'对用户'root'的主机'localhost'进行身份验证失败,并显示消息:未知数据库'xxx'。

这是连接字符串:

 <add name="DefaultConnectionString" connectionString="server=localhost;port=3306;Database=cps;uid=root;pwd=root;" providerName="MySql.Data.MySqlClient" />

P.S:在其他系统上正常运行。

4 个答案:

答案 0 :(得分:1)

您的连接字符串要求名为cps的MySQL数据库。您可能还没有在本地MySQL服务器上创建该数据库。

专业提示:请务必仔细阅读错误消息文字,问自己“这意味着什么?”

答案 1 :(得分:0)

我针对以下错误的解决方案。

使用方法'mysql_native_password'对用户'root'的主机'localhost'进行身份验证失败,并显示以下消息:用户'root'@'localhost'的访问被拒绝(使用密码:是)

<add name="constring" connectionString="Server=localhost;Uid=root;Database=databasename;Port=3306;" providerName="MySql.Data.MySqlClient"/>

=>只需删除密码

=>如果您有2个具有不同端口号的本地服务器,只需添加它,否则默认情况下它将花费 3306

答案 2 :(得分:0)

使用方法'mysql_native_password'对用户'root'的主机'localhost'进行身份验证失败,并显示以下消息:用户'root'@'localhost'的访问被拒绝(使用密码:是)

来自

公共字符串strconn =“ SERVER =本地主机; DATABASE =餐厅; UID =根; pwd = 12345678;转换为零datetime = True”;

成为

公共字符串strconn =“ SERVER = 127.0.0.1; DATABASE = restaurant; UID = root; pwd = 12345678; convert 0 datetime = True”; 在连接字符串中将localhost修复为127.0.0.1

答案 3 :(得分:0)

感谢所有答案,但是就我而言,@ GirishBabuC表示其端口,并且需要在连接字符串中附加该端口,以防您使用其他而非默认端口。

<add name="constring" connectionString="Server=localhost;Uid=root;Database=databasename;Port=3307;" providerName="MySql.Data.MySqlClient"/>

我的情况是3307。

在安装时要求端口。