MySQL8连接问题

MySQL8 连接问题

docker中的MySQL镜像最新版本默认使用的是MySQL8.0。

docker run之后发现使用Navicat 12连接数据库报错。

提示如下:

1
Authentication plugin ‘caching_sha2_password’ cannot be loaded:.......

大概就是MySQL8更改了默认身份认证方式

解决办法

1
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘root’;

JDBC连接方法

注意加载驱动的地方:

以前是这么写:

1
Class.forName("com.mysql.jdbc.Driver");

而新版本是这样的:

1
Class.forName("com.mysql.cj.jdbc.Driver");

URL:

1
private static final String URL = "jdbc:mysql://localhost:6666/DataBase?useUnicode=true&characterEncoding=utf8&useSSL=false";