安装mysql8.0.11版本,并使用mybatis进行连接mysql遇到的问题

安装mysql8.0.11版本,并使用mybatis进行连接mysql遇到的问题

之前Centos远程服务器使用mysql的版本是5.1.32,今天重新安装了mysql的最先版本8.0.11,安装过程出现了一些问题。

 

1、第一个错误:1251异常。

(1)安装完mysql8.0.11之后,使用Navicat远程连接Mysql报1251错误,但是ip,端口,账号密码都是正确的。而且在远程服务器上,直接使用shell命令,用账号密码登陆却可以登陆。

安装mysql8.0.11版本,并使用mybatis进行连接mysql遇到的问题

(2)出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。

(3)解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password.。

现在介绍的是第二种方法的步骤:

mysql -uroot -p   #进入服务器中,执行这条命令,再输入密码,即可进入mysql数据库
mysql>use mysql;
mysql>ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则 
mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码 
mysql>FLUSH PRIVILEGES; #刷新权限

重新连接,问题就解决了。
 

 

2、第二个错误:使用mybatis连接mysql,抛出异常错误。

(1)异常错误:Loading class `com.mysql.jdbc.Driver’. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

(2)错误原因:数据库连接驱动的方式不适用。

(3)解决方法:使用最新的mysql连接驱动,即将`com.mysql.jdbc.Driver’改为`com.mysql.cj.jdbc.Driver’

以前版本使用的连接驱动:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://xxx.xx.xx.xxx:3306/db?characterEncoding=utf-8
jdbc.username=root
jdbc.password=admin

解决后的数据库连接驱动:

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://xxx.xx.xx.xxx:3306/db?characterEncoding=utf-8
jdbc.username=root
jdbc.password=admin

 

3、第三个警告:Establishing SSL connection without server’s identity verification is not recommended

(1)警告信息:Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

(2)警告原因:这是因为Mysql在高版本需要指明是否进行SSL连接

(3)解决方法:虽然不修改也不影响使用,但是如果想要不出现警告,可以在mysql连接字符串url中加入useSSL=false或者useSSL=true即可。如下

jdbc.url=jdbc:mysql://xxx.xxx.xx.xxx:3306/db?characterEncoding=utf-8&useSSL=false

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/114739.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • queryinterface的用法[通俗易懂]

    queryinterface的用法[通俗易懂]客户可以根据QueryInterface函数来查询某个组件是否支持某个特定的接口,若支持,则QueryInterface则返回一个指向特定接口的指针,若不支持,则返回一个错误代码,它的函数形是这样的:     HRESULT__stdcallQueryInterface(constIID&iid,void**ppv);昨天已经设计了一个极其简单的QueryInte

  • 关闭对话框,OnClose和OnCancel

    关闭对话框,OnClose和OnCancel

    2021年11月28日
  • Java数据类型—StringBuilder与StringBuffer「建议收藏」

    Java数据类型—StringBuilder与StringBuffer「建议收藏」StringBuilder与StringBuffer作用就是用来处理字符串,但String类本身也具备很多方法可以用来处理字符串,那么为什么还要引入这两个类呢?前面我们讲解到String对象的不可变性,以及它的不足那就是创建新的对象,因为它是不可变的,所以你对它的操作逻辑就体现在另外一个对象里,那就是你的操作新创建的对象。…

  • mysql联合索引详解

    mysql联合索引详解比较简单的是单列索引(b+tree)。遇到多条件查询时,不可避免会使用到多列索引。联合索引又叫复合索引。b+tree结构如下:每一个磁盘块在mysql中是一个页,页大小是固定的,mysqlinnodb的默认的页大小是16k,每个索引会分配在页上的数量是由字段的大小决定。当字段值的长度越长,每一页上的数量就会越少,因此在一定数据量的情况下,索引的深度会越深,影响索引的查找效率。对于复合索引…

  • 计算机用户名,账户名更改

    计算机用户名,账户名更改计算机用户名,winr按键同时,输入netplwiz.进入用户账户界面(高级),双击即可更改。账户名更改,通过控制面板更改。

    2022年10月14日
  • qt串口通信接收数据不完整_qt串口接收数据

    qt串口通信接收数据不完整_qt串口接收数据高通QM215高速串口调试总结参考文档硬件和复用情况确认修改如下串口调试测试程序代码:将串口设置为高速串口,AP端收到的数据一直为0XFD参考文档1、sp80-pk881-6_a_qm215_linux_android_software_porting_manual.pdf2、80-pk881-21_a_qm215_linux_peripheral_(uart,_spi,_i2c)_ove…

    2022年10月10日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号