mysql 8版本使用注意

1. consider upgrading MySQL client

    描述:因mysql5版本过度到8版本后,访问要求升级mysql的客户端

    原因:mysql在升级后,对加密算法部分做了调整导致。

    对策: 将mysql的server配置从新安装调整,兼容Legancy。

   

如果通过以上形式还不能连接,则在mysql命令行使用

》 alter user [username] identified with mysql_native_password by '[password]';   //修改为支持mysql5版本的加密方式(mysql_native_password)

》flush privileges;

2.Unknown initial character set index '255' received from server. Initial client character set can be forced via the 'characterEncoding' property.

         原因:1. 8版本:jdbc访问使用的字符集编码和目前数据库的编码格式不一致  mysql高版本使用 utf8mb4 4位字节码,比以前3位的多了一位。

                   >show global variables like 'character%';

                   2. 如果character看到的是latin,则将编码集变为utf8.

                      >set character_set_database=utf8;

         解决方案:驱动升级最少为5.1.44 及以上

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.44</version>
            <scope>${dependency.scope}</scope>
        </dependency>

3. 在使用mysql 8 版本驱动时,会有ssl的异常,需要在jdbc链接中设置 useSSL=false。

4. 在mysql驱动8-workbench中,如果访问低版本的mysqlDB,则可能会出现。 AccessDenied admin@IP  (Using Password No)。例如tiDB,要改用低版本驱动。 

原文地址:https://www.cnblogs.com/DennyZhao/p/9982687.html