我在计算机上设置了一个新的MySQL实例,每次添加用户时都会将Authentication Type设置为caching_sha2_password.
即使我将身份验证类型设置为" Standard",然后在保存用户时更改它,也会发生这种情况.我还将默认的身份验证插件更改为" mysql_native_password",但它仍然继续这样做.
使用它caching_sha2_password我无法从.net核心连接到数据库,因为我得到一个错误说明:
MySqlException:任何可用插件都不支持身份验证方法'caching_sha2_password'
如何使用标准身份验证类型保存用户?
问题
在针对新安装的MySQL数据库运行迁移时(对SQL Server数据库运行正常),它在第一个创建表上失败,并显示错误:
空间/全文/散列索引和显式索引顺序的使用不正确
尝试运行以下Index方法时会发生这种情况:
CreateTable(
"dbo.AuditLog",
c => new
{
Id = c.Int(nullable: false, identity: true),
Name = c.String(maxLength: 1000, unicode: false),
What = c.String(maxLength: 1000, unicode: false),
When = c.DateTime(nullable: false, precision: 6),
Why = c.String(maxLength: 1000, unicode: false),
Where = c.Int(nullable: false),
Who_Id = c.String(maxLength: 128, unicode: false),
})
.PrimaryKey(t => t.Id)
.ForeignKey("dbo.AspNetUsers", t => t.Who_Id);
.Index(t => t.Who_Id);
Run Code Online (Sandbox Code Playgroud)
使用该-verbose标志后Update-Database,我看到导致此错误的命令如下.
CREATE index `IX_Who_Id` on `AuditLog` (`Who_Id` DESC) using HASH
Run Code Online (Sandbox Code Playgroud)
在线搜索对解决这个问题并不是很有用.我见过的最接近的是这个Stack …
我尝试使用 docker 连接 Mysql 与 django,但出现此错误
2061, 'RSA Encryption not supported - caching_sha2_password plugin was built with GnuTLS support'.
Run Code Online (Sandbox Code Playgroud)
我尝试更改用户并创建数据库
// create a user //
CREATE USER 'user'@'localhost' IDENTIFIED BY 'user';
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' WITH GRANT OPTION;
CREATE USER 'user'@'%' IDENTIFIED BY 'user';
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION;
// create a database //
CREATE DATABASE user_db;
Run Code Online (Sandbox Code Playgroud)
但仍然是 sqme 错误消息
在设置.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'user_db',
'USER': 'user', …Run Code Online (Sandbox Code Playgroud)