Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySQL8.4设置密码规则为mysql_native_password

MySQL8.4设置密码规则为mysql_native_password问题

作者:AppleII

这篇文章主要介绍了MySQL8.4设置密码规则为mysql_native_password问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

MySQL8.4设置密码规则为mysql_native_password

mysql使用的时候会有报错:

Plugin 'mysql_native_password' is not loaded

1) 首先确认mysql_native_password插件是否已经安装

安装mysql_native_password插件

INSTALL PLUGIN mysql_native_password SONAME 'mysql_native_password';

如果已经安装,会显示该插件已经存在

2) 查看插件状态

show plugins;

看看mysql_native_password插件的状态是不是ACTIVE,如果状态值为DISABLED则说明插件没有激活

3) 修改my.cnf或my.ini配置文件

[mysqld]
mysql_native_password=ON #添加此行

不要添加default_authentication_plugin=mysql_native_password,否则mysql会无法启动。

4) 重启mysql服务

5) mysql命令行查看用户使用的插件

select user,host,plugin from mysql.user;

6) 修改密码认证方式

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your password';
FLUSH PRIVILEGES; #刷新权限

MySQL8.4新特性速览

目前,可以在Oracle官网查看到MySQ 8.4新增的内容:

https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/mysql-nutshell.html

这里选一些重点变化项聊一下。

1.MySQL密码认证变更

从 MySQL 8.4.0 开始,mysql_native_password 认证插件默认不再启用。

若要启用,需要在MySQL启动的时候,添加–mysql-native-password=ON 参数;

或在配置文件中设置 mysql_native_password=ON。

2.一些系统变量默认值变更

MySQL 8.4,还调整了与 InnoDB 存储引擎相关的多个服务器系统变量的默认值,比如:

innodb_io_capacity

innodb_buffer_pool_instances

innodb_change_buffering

3.克隆插件

克隆插件的版本要求放宽,允许在同一大版本号下的不同小版本之间进行克隆。

4.组复制相关

group_replication_set_as_primary变化

使用group_replication_set_as_primary() 选举新主节点前,会等待正在进行的 DDL 语句完成。当然,这个是从8.1开始有的特性。

参数group_replication_consistency默认值变更

默认值改成了BEFORE_ON_PRIMARY_FAILOVER,以前是EVENTUAL。

这里补充一下group_replication_consistency几个值的介绍:

参数group_replication_exit_state_action默认值变更

group_replication_exit_state_action 默认值改成了OFFLINE_MODE,以前是READ_ONLY。

这个参数控制了MGR实例处理故障节点的方式,有三个选项:

我们可以回顾一下MGR的故障检测流程:


也就是当一个节点出现故障之后,进行group_replication_autorejoin_tries参数配置的自动重连次数之后。

这个节点的行为,之前默认情况下,是设置为super_read_only,现在是会把实例切换到离线模式。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文