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

svujldwt  于 12个月前  发布在  Mysql
关注(0)|答案(6)|浏览(130)

我在我的项目中使用代码优先的方法。但是当我试图通过使用“update-database”命令运行数据库迁移时,我得到了空引用异常,并且当我运行应用程序时,我得到了以下配置错误:使用方法“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:在其他系统上运行正常。

f3temu5u

f3temu5u1#

我得到了下面的错误的解决方案。

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

第一个月
=>删除密码
=>如果您有2个本地服务器,端口号不同,只需添加它,否则默认情况下将需要3306

watbbzwu

watbbzwu2#

您的连接字符串需要一个名为cps的MySQL数据库。很可能您尚未在本地MySQL服务器上创建该数据库。
专业提示:总是仔细阅读错误消息文本,问自己“这是什么意思?”

bmp9r5qi

bmp9r5qi3#

使用方法“mysql_native_password”对用户“root”的主机“localhost”进行身份验证失败,并显示消息:Access denied for user“root”@“localhost”(using password:YES)

public string strconn =“SERVER = localhost ;DATABASE=restaurant;UID = root;pwd=12345678;convert zero datetime=True”;
成为
public string strconn =“SERVER = 127.0.0.1;DATABASE=restaurant;UID = root;pwd=12345678;convert zero datetime=True”; fix localhost to 127.0.0.1 in connectionstring

v6ylcynt

v6ylcynt4#

感谢所有的答案,但在我的情况下,@GirishBabuC说它的端口,并需要在连接字符串中附加端口,以防您使用其他然后默认端口.

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

字符串
在我的情况下,它是3307。
安装时要求端口。

5ktev3wc

5ktev3wc5#

这个问题可能会出现,这取决于MySQL的版本。欢迎您尝试此解决方案,看看它是否适合您。而不是使用Uid=*;Pwd=*;,使用user=*;password=*;

原始连接字符串:

Server=localhost;Port=3306;Database=databasename;Uid=sqltracking;Pwd=sqltracking;

字符串

一个有用的

server=localhost;port=3306;database=databasename;user=sqltracking;password=sqltracking;


第一种方法适用于MySql 8,但不适用于MySql 5。
我还没有深入研究这些连接字符串配置背后的文档,但是,我注意到MySQL 5.7和8.0在某些情况下的差异。尽管承认没有花很多时间来弄清楚为什么有时会发生这种情况。
另外,请记住在进行任何权限更改后,在MySQL示例上执行FLUSH PRIVILEGES。这也可能会产生影响。

brtdzjyr

brtdzjyr6#

;SslMode=None添加到ConnString部分。

相关问题