今天手贱更新了MySQL 8.0

第一个问题:Navicat连接不上数据库

安装的mysql为localhost:3306,配置一切默认,安装后打开Navicat 12 新建连接,直接报错

authentication plugin 'caching_sha2_password'

身份验证插件不能被加载

查了下官方文档6.5.1.3 Caching SHA-2 Pluggable Authentication

原来在MySQL 8.0中,caching_sha2_password取代了mysql_native_password成为默认的身份验证插件,官方给出的解决方案如下

1、重新配置服务器以恢复到以前的默认身份验证插件(mysql_native_password)。

[mysqld]

default_authentication_plugin=mysql_native_password

该设置允许8.0之前的客户端连接到8.0服务器,但是,该设置应被视为临时设置,而不是长期或永久性解决方案,因为它会导致使用有效设置创建的新帐户放弃提供的改进的身份验证安全性 caching_sha2_password。

2、将根管理帐户的身份验证方式更改为mysql_native_password。

对于新的MySQL 8.0安装,在初始化数据目录时,将创建帐户'root'@'localhost',并且该帐户将默认使用caching_sha2_password。连接到服务器root并使用ALTER USER 如下更改帐户身份验证插件和密码:

ALTER USER 'root'@'localhost'

IDENTIFIED WITH mysql_native_password

BY 'password';

至此,解决了MySQL 8.0的默认身份校验更换问题。

第二个问题:Caused by: java.sql.SQLException: Unknown initial character set index '255'...

在更新完数据库后,本地启了一个java小工程,连接数据库跑了个测试程序直接抛出异常,叕查了一下官方文档 Changes in MySQL 8.0.1 (2017-04-10, Development Milestone) ,原来是8.0.1的版本将Unicode字符集支持中进行了几项重要更改,默认字符集已从更改latin1为 utf8mb4。而这个这个系统默认 collation_server 和 collocation_database 系统变量由 latin1_swedish_ci 变为 utf8mb4_0900_ai_ci。

解决办法:所有这些更改都已经在新版本的MySQL连接器Java中进行了处理,不需要配置MySQL。所以只需要升级MYSQL的版本即可,将5.1.6更改为5.1.44,问题完美解决。

mysql

mysql-connector-java

5.1.44

问题三安装完成后进入数据库show databases;、或者尝试更改权限时报错

ERROR 1449 (HY000): The user specified as a definer ('mysql.infoschema'@'localhost') does not exist

Table 'mysql.role_edges' doesn't exist

解决方法

mysql_upgrade -u root -p;

问题四:在客户端成功连接数据库之后,发现项目里的pdo连接mysql又报错了。

Next PDOException: SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client [caching_sha2_password] in /vendor/yiisoft/yii2/db/Connection.php:687

这个错可能是mysql默认使用caching_sha2_password作为默认的身份验证插件,而不再是mysql_native_password,但是客户端暂时不支持这个插件导致的。官方文档说明

In MySQL 8.0, caching_sha2_password is the default authentication plugin rather than mysql_native_password. For information about the implications of this change for server operation and compatibility of the server with clients and connectors, see caching_sha2_password as the Preferred Authentication Plugin.

在MySQL 8.0中,caching_sha2_password是默认的身份验证插件,而不是mysql_native_password。有关此更改对服务器操作的影响以及服务器与客户端和连接器的兼容性的信息,请参阅caching_sha2_password作为首选身份验证插件。

解决方法

编辑my.cnf文件,更改默认的身份认证插件。

$ vi /etc/my.cnf

在[mysqld]中添加下边的代码

default_authentication_plugin=mysql_native_password

然后重启mysql

$ service mysqld restart

网站终于正常打开了。。。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: 详解关于MySQL 8.0走过的坑

本文地址: http://www.cppcns.com/shujuku/mysql/240529.html

mysql8 index255_详解关于MySQL 8.0走过的坑相关推荐

  1. 【详解】MySQL中使用正则表达式

    [详解]MySQL中使用正则表达式 前言 使用介绍 1.基础匹配 2.二选一(OR)匹配 3.特定一组字符的匹配 4.范围匹配 5.特殊字符匹配 6.字符类匹配 7.多个实例结果匹配 8.使用定位符匹 ...

  2. 详解:MySQL数据库的权限管理和运维实操

    详解:MySQL数据库的权限管理 一.MYSQL权限简介 关于mysql的权限简单的理解就是mysql允许你做你权利以内的事情,不可以越界.比如只允许你执行select操作,那么你就不能执行updat ...

  3. 网络驱动开发样例snull详解(基于3.10.0)

    网络驱动开发样例snull详解(基于3.10.0) 本章素材为ldd3书中的网络驱动snull部分.由于现在内核的更新,导致其在最新的内核中无法编译该网络驱动,需要针对修改,顾为此文(内核3.10.0 ...

  4. 详解 AMBA APB 5.0 最新标准协议(1)引言

    详解 AMBA APB 5.0 最新标准协议(1)引言 引言

  5. Android中mesure过程详解 (结合Android 4.0.4 最新源码)

    如何遍历并绘制View树?之前的文章Android中invalidate() 函数详解(结合Android 4.0.4 最新源码)中提到invalidate()最后会发起一个View树遍历的请求,并通 ...

  6. Android中layout过程详解 (结合Android 4.0.4 最新源码)

    上一篇文章Android中mesure过程详解 (结合Android 4.0.4 最新源码)介绍了View树的measure过程,相对与measure过程,本文介绍的layout过程要简单多了,正如l ...

  7. MySQL 8.0踩的坑

    MySQL 8.0踩的坑 前言 一.MySQL 8.0 删除了password() 二.MySQL 8.0以后修改root密码 三.创建新用户并更改权限 总结 前言 在安装了新的Ubuntu21.04 ...

  8. MySQL 8.0踩的坑(3)

    MySQL 8.0踩的坑(3) Mysql远程连接报错 Mysql远程连接报错 原因:mysql 8.0 默认使用 caching_sha2_password 身份验证机制 之前版本的mysql使用的 ...

  9. 详解vue静态资源打包中的坑与解决方案

    详解vue静态资源打包中的坑与解决方案 参考文章: (1)详解vue静态资源打包中的坑与解决方案 (2)https://www.cnblogs.com/goloving/p/8904545.html ...

最新文章

  1. 用Sketchup和Vray学习室内设计
  2. 硬件开源需求迫切?开源笔电 Nevona 筹款金额达预设目标3倍
  3. [WebService] xml WebService学习1
  4. 沪港通:利好出尽就是利空
  5. SlidingMenu的使用,结合Fragment(eclipse环境)
  6. springMVC接受参数总结
  7. 安全厂商安全技术工程师(校招)——技术要求
  8. while java_(Java) while循环
  9. oracle约束 1或0,Oracle笔记(十) 约束
  10. Mac安装Octave
  11. web前端技术分享文档
  12. **LPC1788加密与解密方法**
  13. 前端JS-页面延迟刷新
  14. 官方发布 激情世界杯】浩海技术 GHOST XP SP3 世界杯装机特别版★用稳定压倒一切!...
  15. 一个美国人在上海-American McGee
  16. html5手机端页面缩放问题的解决
  17. [插件发布] KK_XSHOW首页多格(Discuz) DX2.0 首款支持x2的首页N格焦点图!
  18. 直通车拼多多7天均价比价
  19. 详解AUTOSAR:汽车软件开发V模型过程中AUTOSAR工具链的应用(工具篇—1)
  20. 2021/03/09~2021/08/19 统计

热门文章

  1. c++语言表白超炫图形_R语言统计与绘图:组合图形布局
  2. Spark基础学习笔记05:搭建Spark Standalone模式的集群
  3. 《天天数学》连载48:二月十七日
  4. 大数据学习笔记08:Java程序访问HDFS
  5. 【BZOJ2584】memory,扫描线+拓扑图+骗
  6. 【codevs1174】 靶形数独,暴力解决问题
  7. C ++ 数组 | 寻找最大、最小值,数组(Array)_1
  8. java+oracle数据库锁,数据库学习之Oracle数据库\记录被另一个用户锁住\解决方法...
  9. 每日小记2017.3.7
  10. 【英语学习】【WOTD】accolade 释义/词源/示例