mvc5数据库链接mysql8.0.13连不了吗?

subxli 2019-01-09 05:53:24
nuget的mysql程序包是6.9.9的,和这个有关系吗?

如果有,正常应该怎么做?
...全文
196 点赞 收藏 8
写回复
8 条回复
subxli 2019年01月14日
顶一个顶一个顶一个
回复 点赞
无V涯 2019年01月10日
连接不了,看下具体错误,如果是版本问题,更换mysql引用的版本,可以先用工具试试能否连接上,如果能,说明是代码问题,检查下mysql是否设置了端口,默认是3389,可能数据库被改了默认端口
回复 点赞
by_封爱 2019年01月10日
提示什么错误? 我的是dll是8.0.13.0 可以连接mysql8.0.
回复 点赞
subxli 2019年01月10日
引用 6 楼 Net诚心 的回复:
原因:mysql6以后的版本驱动包版本和驱动配置变了

mysql6以前版本配置:

db.properties配置:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/taotao?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root

驱动包版本:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.32</version>
</dependency>

mysql6以后版本配置:

db.properties配置:
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.25.124:3306/taotao?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&verifyServerCertificate=false&autoReconnct=true&autoReconnectForPools=true&allowMultiQueries=true
jdbc.username=root
jdbc.password=root

注:serverTimezone :指定时区。如果设定serverTimezone=UTC,会比中国时间早8个小时,如果在中国,可以选择Asia/Shanghai或者Asia/Hongkong。即:serverTimezone=Shanghai

驱动包版本:

因为我的数据库版本为8.0.13,故使用了8.0.13版本的驱动包

具体驱动包版本可在https://repo.maven.apache.org/maven2/mysql/mysql-connector-java/中查找
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>


有.net版本的吗?



回复 点赞
无V涯 2019年01月10日
原因:mysql6以后的版本驱动包版本和驱动配置变了

mysql6以前版本配置:

db.properties配置:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/taotao?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root

驱动包版本:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.32</version>
</dependency>

mysql6以后版本配置:

db.properties配置:
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.25.124:3306/taotao?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&verifyServerCertificate=false&autoReconnct=true&autoReconnectForPools=true&allowMultiQueries=true
jdbc.username=root
jdbc.password=root

注:serverTimezone :指定时区。如果设定serverTimezone=UTC,会比中国时间早8个小时,如果在中国,可以选择Asia/Shanghai或者Asia/Hongkong。即:serverTimezone=Shanghai

驱动包版本:

因为我的数据库版本为8.0.13,故使用了8.0.13版本的驱动包

具体驱动包版本可在https://repo.maven.apache.org/maven2/mysql/mysql-connector-java/中查找
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
回复 点赞
subxli 2019年01月10日
是不是要在nuget里更新包?
回复 点赞
subxli 2019年01月10日
引用 2 楼 Net诚心 的回复:
连接不了,看下具体错误,如果是版本问题,更换mysql引用的版本,可以先用工具试试能否连接上,如果能,说明是代码问题,检查下mysql是否设置了端口,默认是3389,可能数据库被改了默认端口



端口是正确的,Navicat能连上
回复 点赞
subxli 2019年01月10日
引用 1 楼 by_封爱 的回复:
提示什么错误?

我的是dll是8.0.13.0 可以连接mysql8.0.

“System.Data.Entity.Core.ProviderIncompatibleException”类型的异常在 EntityFramework.dll 中发生,但未在用户代码中进行处理
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.5w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告