锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / 数据库开发开源社区 / MySQL8C#连接失败
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发

锐英源精品原创文章,禁止转载和任何形式的非法内容使用,违者必究


MySQL8C#连接失败


MySQL8性能提升,可靠稳定,正在代替MySQL5.6版本,近期开发项目,设计方案指定使用MySQL8,但是在开发过程中遇到MySQL8C#连接失败问题,先说机器开发环境,有MySQL Workbench、动软代码生成器、phpstudy的MySQL5.6和两个MySQL服务,一个服务用3306端口,一个服务用3307端口,MySQL8用3307端口。

首先是用压缩包命令行--console方式进行了服务安装,修改了native_password模式,Workbench可以连接,动软不能连接,C#代码也不能连接。native_password模式在my.ini里加了

default_authentication_plugin=mysql_native_password

用mysql打开命令行,输入了:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

FLUSH PRIVILEGES;

动软还是不行,C#也不行。并且localhost命令行还报错,错误如下:

ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'。

ALTER USER 'root'@'%' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

上面的命令可以,但是C#还是连接不上。

后来查网络说是再建个普通用户,用localhost,可以,试了不用,C#改成普通用户也连接不上。

实在没办法,用MySQL8的非压缩包方式进行了安装,这种向导模式可以在窗口里进行配置,配置了端口3307还有native_password模式,这时候突然发现:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

能够正常执行了,这是和压缩模式安装最大的区别,这个可以了,信心倍增,虽然动软还是连接不上,检查了C#的连接字符串,C#也能够连接上了。连接字符串如下:

public static string ConnectionString = "Data Source=localhost;Database=energysafe;port=3307;user id=root;password=root";

动软连接不上,是因为动软太旧了,里面的Connecter版本也太旧了,连接不了MySQL8,连接MySQL5.6没问题。

总之,这问题主要卡在了ALTER USER处理上,有些用命令不能解决的问题,就要换环境了,比如这里的换安装模式,用向导窗口msi方式安装MySQL8。

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件

公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768

地址:郑州大学北校区院内(文化路97号院)