再次Unity连接MySQL遇到的新问题

上次用完mysql就给卸载了,今天刚重新安装了一个,下载的安装包和版本为mysql-installer-community-8.0.21.0,应该是比我上次用的新;unity版本为2019.3.0f6;

首先准备一个unity项目用来连接数据库,下面一步就是:
往项目assets文件夹中放入一些dll文件,上次在这一步稀里糊涂的,哪些必须哪些不必也没搞清楚,我在Assets下建了一个Plugins文件夹存这些放进来的dll
大概需要导入的dll文件
其中MySql.Data来自你的mysql安装目录,我的是C:\Program Files (x86)\MySQL\Connector NET 8.0\Assemblies\v4.5.2 这里面,直接复制进去,
注意,版本号要注意,这次我下载的比较新的mysql这个复制到项目中在unity里显示的,最下面那个Assembly Info里是Targets .NET 4.x,对于我的这个unity是不能使用的,控制台一直会报两个关于mysql.data的错,我把以前项目里的拿过来放到现在正在用的这个项目之后是3.5的,是可以用的】
注意(* ̄(oo) ̄)
第二个遇到的新问题是,这么一个错误:Client does not support authentication protocol requested by server,直接去搜发现遇到这个问题的基本都是navicat 连接 mysql的时候,大概原因是因为mysql8.0的密码加密规则改了,这我也能理解为什么是这次出现的新问题了,我新安装的就是8.0的,解决方案是,打开mysql控制台,输入这么3句话

use mysql;
alter user '用户名'@'主机名' identified with mysql_native_password by '你的密码';
flush privileges;

别忘记分号;

第三个遇到的新问题报的错是:the given key was not present in the dictionary,我是用的插入语句,字面意思大概是插入是使用的关键字在表里没有,可是明明写的是对的,
解决方案:在数据库连接字符串最后规定一下字符编码格式

string constr = "server=localhost;Database=mydb;User Id=root;password=12345;charset=utf8;";

即在最后加一句charset=utf8,问题可以解决。
2020年7月16日13点18分

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值