MySQL8的注意点

最近使用MySQL8,发现两个问题,略记如下:

1. 新建用户无法使用JDBC或者Navicat等登陆,报错信息为 认证失败 ,原因为 新版 MySQL 认证插件变化(变为caching_sha2_password),新版本不再兼任老式认证方式,需要在数据库中以管理员权限执行如下语句修改认证方式:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

同时,也可以在MySQL的服务端配置文件中,添加如下配置以便后续用户默认使用兼容的老式认证方式:

[mysqld]
default_authentication_plugin=mysql_native_password

2. 若发现无法新建函数,特别是存在对数据进行修改操作的函数,会报告如下错误信息:

You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

此时需要在MySQL的控制台下以管理员模式执行如下指令:

set global log_bin_trust_function_creators=1;

同时,可以在服务端的配置文件中添加如下配置以便后续默认生效:

log_bin_trust_function_creators = 1

注意:

上述服务端的配置信息变更后,均需要重启MySQL服务才能生效。

猜你喜欢

转载自www.cnblogs.com/oilamp/p/9976928.html