zoukankan      html  css  js  c++  java
  • mysql8的深坑

    主要记录下自己的出坑过程,有些其实并不是mysql8的问题,但是由于这个版本产生的阻塞时间最长,所以一并记录;

    1-项目代码别人能运行,我本地运行不了

    定位后发现是由于本地代码运行数据库连接失败,后来为数据库创建了一个接受所有ip连接的新用户之后,使用该用户进行连接就不会报连接错误了。之所以不去修改root的访问权限,是因为root不能修改自己,暂时不知道怎么改。

    2-修改完数据库访问权限之后又会报一个新的错误:

    MySQL Error: Authentication plugin 'caching_sha2_password' not supported by any of avaliable plugins

    这个错误提示是比较明显的。大意为:mysql8数据库服务器中指定需要使用sha2这种算法进行加密,但是目前使用的mysql客户端(可能是可视化工具如:navicat或者代码)并不支持,索引导致失败。

    因为sha1加密算法被破解了,所以mysql8之后都升级了成了sha2算法。mysq8默认的认证插件是cacheing_sha2_password插件,原来的版本使用的是mysql_native_password插件,这使得原来的mysql连接客户端出现认证失败的问题。

    所以有两种方式可以解决问题:

    • 将服务端的加密方式修改为sha1

        在数据库中执行下面的语句得以解决:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ‘#2017';

    • 强客户端的加密方式修改为sha2

        将客户端的加密方式修改为sha2,例如将mysql-connector-java更换为最新的版本,如果使用一些图形化连接工具,那么可以通过修改配置信息解决。

    3-修改完加密方式之后又报创建数据库l连接失败

      排查了一大圈,也没有找出原因,最后指定了一个高版本mysql-connect-java包才解决了问题,具体什么问题无从得知。

  • 相关阅读:
    FLUSH TABLES WITH READ LOCK 锁全局
    第三届中国云计算用户大会笔记和心得
    第三届中国云计算用户大会笔记和心得
    报表或BI的价值在哪?
    ZooKeeper
    TypeError:First argument must be file descriptor
    org.eclipse.core.runtime.OperationCanceledException
    perl 安装 ZooKeeper模块
    2、Zookeeper集群搭建、命令行Client操作
    1、Zookeeper熟悉和用途综述
  • 原文地址:https://www.cnblogs.com/maxigang/p/9371693.html
Copyright © 2011-2022 走看看