我在.NET 6环境下创建了一个WEB MVC视图项目,当我尝试连接到数据库时,我收到了一个错误。我介绍了MySql.Data(8.1.0)包。
第一个月
下面是appsettings.json文件中的mysql配置参数。
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionString": "server=localhost;port=3306;database=test;user=root;password=root;"
}
字符串
下面是Program.cs代码
MySqlDBHelper.DB_CONNECTION_STRING = app.Configuration["ConnectionString"];
型
我确信我的数据库帐户密码没有设置错误
我已经试过调试以确保连接器正确获取DB_CONNECTION_STRING数据。下面是控制器的Add方法
[HttpGet("Add")]
public object Add(string FileName, string FilePath,string ImageUrl)
{
var sql = "INSERT INTO image_info (FileName, FilePath, ImageUrl) VALUES (@FileName, @FilePath, @ImageUrl)";
using var conn = MySqlDBHelper.GetSqlConnection();
conn.Open();
var result = conn.Execute(sql, new { FileName, FilePath, ImageUrl });
return Ok();
}
型
1条答案
按热度按时间8yparm6h1#
原因
Mysql8.0+较旧版本更新了密码加密方式。
打开命令,输入mysql>,然后输入
字符串
可以看到plugin(插件)格式已经更新为caching_sha2_password,所以我们只需要更改为旧版本的mysql_native_password即可:
ALTER USER 'root'@'这里是主机下的名称,例如localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
修改后记得刷新命令
FLUSH PRIVILEGES
;(刷新权限)