开发项目电脑中装上了mysql8.0数据库,在使用数据库时遇见未知的意外错误,下面来记录下问题解决的过程…

一、Node.js mysql

1、Node.js mysql客户端不支持认证协议

问题描述: 解决Node.js mysql客户端不支持认证协议引发的“ER_NOT_SUPPORTED_AUTH_MODE”问题

问题原因:

  • Node最新的mysql模块并未完全支持MySQL 8的“caching_sha2_password”加密方式
  • “caching_sha2_password”在MySQL 8中是默认的加密方式

因此,在你初始化 MYSQL 8.0 使用 validate_password_policy 安全设置向导,(默认)选择的 MIDDLE 级别的加密方式。但是node的mysql模块仅支持 LOW级别,所以该账号、密码无法在mysql模块中使用

问题解决:

修改用户root的密码,并指定mysql模块能够支持的加密方式

~> mysql -u root -p
mysql> SHOW VARIABLES LIKE 'validate_password%';
mysql> set global validate_password.policy=0;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '8位密码';

二、Sequel Pro

在选用数据库可视化工具来连接数据库时遇见未知的意外错误

1、解决MAC:Sequel Pro encountered an unexpected error 问题

问题描述:连接出现Sequel Pro encountered an unexpected error

问题复现截图

问题描述

博主配置环境

  • the latest version of mac os Mojave 10.14
  • mysql 8.0

下载的最新Sequel Pro 1.1.2 ,连接上数据库 mysql 8.0,每次选中左上角的数据库表时,选库,选表就报错,就出现了上边的情况

问题解决:

  1. 首先尝试重装,怀疑安装Sequel Pro 时少了什么东西,问题依旧。
  2. 换用 Sequel Pro 1.1.1 还是出现同样问题。排除Sequel Pro版本问题
  3. mac os 版本或者数据库版本问题

针对第三种情况,进行查找,查到: 对于 MySQL 8.0及以上来说,目前发布的版本1.1.2连接的时候可能会崩溃退出。

看下官方的解释

Fixed 100% working. Previously Sequel pro had problems with the latest version of mac os Mojave 10.14 and mysql 8.0, to ensure sequel pro works fine during the whole process of development you need to download Sequel pro Test build version here: https://sequelpro.com/test-builds

遇见这种mysql版本的问题,也没有什么好的办法,使用test build版本就好了。


最后, 希望大家早日实现:成为编程高手的伟大梦想!
欢迎交流~

微信公众号

本文版权归原作者曜灵所有!未经允许,严禁转载!对非法转载者, 原作者保留采用法律手段追究的权利!
若需转载,请联系微信公众号:连先生有猫病,可获取作者联系方式!