NetCore 链接MySQL 报 Character set ‘utf8mb3‘ is not supported by .Net Framework 异常解决
Posted csdn_aspnet
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NetCore 链接MySQL 报 Character set ‘utf8mb3‘ is not supported by .Net Framework 异常解决相关的知识,希望对你有一定的参考价值。
经过查找网上大部分资料都是修改表字符集,如下代码:
方法:
修改字符集和排序为utf8mb4
。
修改数据:
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
修改表:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
修改列:
ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
修改字符集后,项目运行后并进行登录操作,依然报错,最后发现服务器上版本mysql5.7,而局域网数据库服务器版本为mysql8.0.29,突然想到,是不是版本不一样引起链接不正确,然后将MySql.Data.dll版本升级到8.0.29,如下图:
将最新的 MySql.Data.dll直接复制到老项目的发布目录,替换原有的MySql.Data.dll文件,再次启动运行项目,居然成功了。
如果中途遇到The given key ‘25971‘ was not present in the dictionary错误,请参考我得另一篇文章:NetCore mysql Connection open error . The given key ‘25971‘ was not present in the dictionary_csdn_aspnet的博客-CSDN博客
mysql学习-Navicat Premium 12 链接MySQL8.0.11数据库报2059错误
Navicat Premium 12 链接MySQL8.0.11数据库报2059错误
1,问题现象
安装完MySQL8.0.11和Navicat Premium12后,我们会用Navicat去测试连接MySQL,但是测试时出现以下报提示:
2,问题原因
mysql8.0之前的版本加密规则是mysql_native_password,mysql8.0之后,加密规则是caching_sha2_password。
3,解决方案
在这里要特别说明一点,如果安装完MySQL8.0.11以后,没有设置环境变量,不能在DOS命令窗口直接使用MySQL的命令。
3.1,电脑WIN + R打开运行窗口,键入cmd打开DOS命名窗口,键入cd C:Program FilesMySQLMySQL Server 8.0in
3.2,进入安装目录的bin目录后,键入mysql -u root -p命令,按照提示输入密码,登陆MySQL库。注:root是安装MySQL时的默认用户名,如果自己修改的话,用自己新建的名字以及密码。
3.3,登陆后可查询默认加密规则,键入
use mysql;
select user,plugin from user where user =‘root‘;
分别执行后如下
3.4,更改加密方式:ALTER USER‘root‘@‘localhost‘ IDENTIFIED BY ‘password‘ PASSWORD EXPIRE NEVER;
更新用户密码:ALTER USER‘root‘@‘localhost‘ IDENTIFIED WITH mysql_native_password BY ‘password‘;
分别执行后如下,重新执行3.3查询结果如下,加密方式已经该改变。
3.5,刷新权限:FLUSH PRIVILEGES;
3.6,重新打开Navicat Premium 12,可连接成功。
---------------------
作者:郑先生的喵
来源:CSDN
原文:https://blog.csdn.net/pan_zzq/article/details/81078564
版权声明:本文为博主原创文章,转载请附上博文链接!
以上是关于NetCore 链接MySQL 报 Character set ‘utf8mb3‘ is not supported by .Net Framework 异常解决的主要内容,如果未能解决你的问题,请参考以下文章
java.lang.IllegalArgumentException: Invalid character found in the request target. The valid charact
mysql学习-Navicat Premium 12 链接MySQL8.0.11数据库报2059错误
`navicat`外网链接`mysql`报`...error 10061`