📌  相关文章
📜  r rmysql 连接本地数据库插件缓存_sha2_password 无法加载 - SQL (1)

📅  最后修改于: 2023-12-03 15:04:45.192000             🧑  作者: Mango

解决'rmysql 连接本地数据库插件无法加载问题

当使用 'rmysql' 连接本地数据库时,可能会遇到 '缓存_sha2_password 无法加载' 的问题,这是由于 MySQL 的加密方式从 'mysql_native_password' 改为了 'caching_sha2_password' 所导致的。

为了解决这个问题,可以采取以下两种方法:

1. 修改 MySQL 配置

在 MySQL 的配置文件中修改加密方式,使其改回 'mysql_native_password'。

步骤如下:

  1. 修改 MySQL 配置文件 my.cnf 或 my.ini,在 [mysqld] 部分添加:
default_authentication_plugin=mysql_native_password
  1. 重启 MySQL 服务。
2. 修改 MySQL 用户密码

将 MySQL 用户的加密方式改为 'caching_sha2_password',这样就可以避免连接时出现 '缓存_sha2_password 无法加载' 的问题,步骤如下:

  1. 在 MySQL 中执行以下语句:
ALTER USER 'username'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';

注意将 'username' 和 'password' 替换成你自己的用户名和密码。

  1. 修改 R 代码中的连接方式,将加密方式改为 'caching_sha2_password',例如:
conn <- dbConnect(RMySQL::MySQL(), user = "username", password = "password", dbname = "dbname", host = "localhost", port = 3306, ssl.mode = "none", auth_plugin = "caching_sha2_password")

以上两种方法都可以解决 'rmysql 连接本地数据库插件缓存_sha2_password 无法加载' 的问题。