我的 asp.net 核心网站使用 MySql.Data.MySqlClient
与 mysql 对话。连接字符串在 appsettings.json 中设置为:
"ConnectionStrings": { "DefaultMySqlConnection": "Server=localhost;Database=mydb;Uid=someuser;Pwd=somepassword;" }
在与应用程序部署在同一台 ubuntu 服务器上的 mysql 服务器中,我添加了用户 'someuser'@'localhost'
并相应地授予了权限。
我正在与一位 friend 共享这台服务器机器,他已经部署了自己的网站,包括同一个 mysql 服务器上的数据库。我不认为这会导致问题,直到我在日志中看到我的网站正在尝试以用户 'someuser'@'myfriendssite.com'
身份在 mysql 服务器上进行身份验证,而不是预期 'someuser'@'localhost'
。
那么在什么阶段可以将连接字符串中的localhost
替换为myfriendssite.com
呢?我唯一知道并检查过的地方是 /etc/hosts
文件,它看起来很标准:
而且,如果回答了上述问题,这可能会很明显:如何避免这种情况?
谢谢!
最佳答案
原来它使用的是 /etc/hostname
,如 here 中所述.
关于mysql - 什么改变了 ASP.NET Core 连接字符串中的 "localhost"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54305628/