【mysql 主从复制】Authentication plugin ‘caching_sha2_password‘ reported error

博客介绍了在MySQL主从复制过程中遇到的Authenticationplugin'caching_sha2_password'报错问题。解决方案是将主库的复制用户'repl'的认证方式改为mysql_native_password。通过运行SQL命令ALTERUSER'repl'@'%'IDENTIFIEDWITHmysql_native_passwordBY'MyNewPass4!';即可解决连接问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL主从复制报错Authentication plugin ‘caching_sha2_password‘ reported error: Authentication

在这里插入图片描述
解决方法:
原来是主库repl的plugin是caching_sha2_password 导致连接不上,修改为mysql_native_password即可解决。

ALTER USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY 'MyNewPass4!';
### 解决方案概述 在 macOS 上运行 MySQL 时,`caching_sha2_password` 认证插件可能需要安全连接才能正常工作。这是因为 `caching_sha2_password` 插件默认要求通过 SSL 或其他加密机制来保护传输中的数据[^2]。如果不满足这些条件,可能会遇到错误消息,例如 `(二) Last_IO_Error: Authentication plugin 'caching_sha2_password' reported error`[^3]。 以下是针对此问题的具体解决方案: --- ### 方法一:启用 SSL 连接 为了满足 `caching_sha2_password` 的需求,可以配置 MySQL 使用 SSL 加密通信。具体操作如下: #### 配置 SSL 参数 编辑 MySQL 配置文件(通常是 `/etc/my.cnf` 或 `/usr/local/mysql/etc/my.cnf`),添加以下内容: ```ini [mysqld] ssl-ca=/path/to/ca.pem ssl-cert=/path/to/server-cert.pem ssl-key=/path/to/server-key.pem ``` 确保路径指向有效的证书和私钥文件。完成后重启 mysqld 服务以应用更改。 #### 强制用户使用 SSL 可以通过创建或更新用户账户强制其使用 SSL: ```sql ALTER USER 'your_user'@'localhost' REQUIRE SSL; FLUSH PRIVILEGES; ``` 这样,当客户端尝试连接到数据库时,会自动协商并建立一个安全的 SSL 通道。 --- ### 方法二:切换回传统密码认证方式 如果不想启用 SSL,可以选择将用户的认证插件改为传统的 `mysql_native_password`。这一步骤适用于开发环境或其他不需要严格安全性的情况。 #### 修改全局默认认证插件 在 MySQL 配置文件中加入以下参数,并重启 mysqld: ```ini default_authentication_plugin=mysql_native_password ``` #### 更新现有用户账户 对于已经存在的用户,执行以下 SQL 命令将其认证插件更改为 `mysql_native_password`: ```sql ALTER USER 'your_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password'; FLUSH PRIVILEGES; ``` 注意替换 `'your_user'` 和 `'new_password'` 为实际使用的用户名和新密码。 --- ### 方法三:禁用安全连接的要求 另一种方法是让 `caching_sha2_password` 不再强制要求安全连接。虽然这种方法不推荐用于生产环境,但它可以帮助快速解决问题。 #### 设置允许明文传输 登录 MySQL 并运行以下命令: ```sql SET GLOBAL caching_sha2_password.allow_cleartext_without_ssl=ON; ``` 这一设置允许即使未使用 SSL 也能完成身份验证过程。然而,请谨慎使用此选项,因为它可能导致敏感信息暴露于网络监听之下。 --- ### 总结 上述三种方法分别对应不同的场景和技术偏好。如果注重安全性,则应优先考虑 **方法一**;若追求简单性和兼容性,可采用 **方法二** 或者临时调整行为至 **方法三**。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东华果汁哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值