MySQL8.0的坑-个人实践

    今天,自己作死,往自己笔记本上装了一个mysql的8.0版本,由于公司项目使用的是其他版本,故爬坑到现在,网上查到的解决方案都太零散了,所以在这里做个汇总,希望对需要的朋友有用。个人文采有限,凑活看吧。哈哈。。。。。

   首先,刚开始项目报直接报错,Could not retrieve transation read-only status server

   这个错误,首先查看mysql数据库的事务隔离级别:

   SHOW VARIABLES LIKE 'transaction_isolation';

   如果返回结果为

 REPEATABLE-READ

则执行

SET GLOBAL transaction_isolation='READ-COMMITTED';  -- 修改数据库的隔离级别。
set session transaction isolation level read uncommitted; --提交数据库的当前session的事务。

如下图所示:

如果要永久更改,则还需修改my.ini,在后面追加:

#可选参数有:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE.
transaction-isolation = READ-COMMITTED

如下图所示:

做完以上步骤,如果项目还报以上错误,则检查mysql驱动包,mybatis的版本:

<mysql.driver.version>8.0.13</mysql.driver.version>

<mybatis.version>3.2.8</mybatis.version>

<mybatis-spring.version>1.3.1</mybatis-spring.version>

修改完以上版本后,则可能报如下错误信息:

原因:数据库驱动com.mysql.jdbc.Driver'已经被弃用了、应当使用新的驱动com.mysql.cj.jdbc.Driver'

需要修改jdbc驱动为:

将jdbc.properties配置 .com.mysql.jdbc.Driver  改为  com.mysql.cj.jdbc.Driver

修改完成后,启动项目,继续报如下错误信息:

Error querying database.  Cause: java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

在jdbc.url后面追加:

&serverTimezone=GMT%2B8&useSSL=false

ok     到这里,鄙人项目启动成功,这些错误的根本原因,这里就不在详细描述了,大家可以去网上查找相关资料,鄙人水平有限,了解到的就这么多,有不对的地方,欢迎大家纠正。

 

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值