解决unity直接操作MySQL的坑

——个人笔记

  • 出现错误:1251-Client does not support authentication protocol requested by server;

  1. 首先,把MySql.Data.dll(支持.net 3.5及以下的版本)放到unity的安装目录(··\unity\Editor\Data\Mono\lib\mono\2.0)
  2. 然后,在unity的安装目录(··\unity\Editor\Data\Mono\lib\mono\2.0)里找到下面5个.dll,导入unity。
    解决unity直接操作MySQL的坑_第1张图片在这里插入图片描述在这里插入图片描述

做完上面的估计还是不行,那些是基本的.dll导入,接着要刷新权限。(mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password 把mysql用户登录密码加密规则还原成mysql_native_password)

  1. 查看MYSQL数据库中所有用户
mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
  1. 修改加密规则
mysql> ALTER USER `root`@`localhost` IDENTIFIED BY `password` PASSWORD EXPIRE NEVER;```
  1. 修改用户的认证规则
mysql> alter user '用户名'@'localhost' identified with mysql_native_password by '密码';
  1. 刷新权限
 mysql> flush privileges;

5.停止并重启服务

做到这一步,估计就可以了。不过如果不行或者导出的时候出错就再试试下面的,因为当初解决这个问题的时候查了很多,试了很多才解决哈哈。


在VS里 按 视图->服务器资源管理器(Ctrl+w 然后L),接着在服务器资源管理器中找数据连接按鼠标右键添加连接,然后就类似登录数据库并且找到哪个表。其中server name大多数直接127.0.0.1(localhost)就行了。
可供参考:https://blog.csdn.net/qq_38455201/article/details/83024357
https://www.zhaokeli.com/article/8172.html(这个可以解决MySQL版本,或者直接去官网)

你可能感兴趣的:(Untiy)