首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RMariaDB:连接到MySQL时的caching_sha2_password错误

RMariaDB:连接到MySQL时的caching_sha2_password错误
EN

Stack Overflow用户
提问于 2018-07-28 02:47:59
回答 1查看 2.1K关注 0票数 1

我刚开始使用与R的数据库连接(在Ubuntu16.04下),并且遇到了一些麻烦。在我在网上看到的文档之后,我尝试了这样的方法:

代码语言:javascript
复制
con <- DBI::dbConnect(RMySQL::MySQL(),  
             dbname='IFsHistSeries',   
             host='127.0.0.1')

这给了我一条错误信息,上面写着:

代码语言:javascript
复制
Failed to connect to database: Error: Can't initialize character set unknown (path: compiled_in)

从我在google上所能找到的情况来看,RMariaDB似乎比RMySQL更先进,所以我尝试了一下:

代码语言:javascript
复制
con <- DBI::dbConnect(RMariaDB::MariaDB(),
             dbname='IFsHistSeries',
             host='127.0.0.1')

这导致了一个同样神秘的错误消息:

代码语言:javascript
复制
Failed to connect: Plugin caching_sha2_password could not be loaded: 

因此,我尝试了一些非常愚蠢的东西--使用https://downloads.mariadb.org/mariadb/repositories/的说明安装https://downloads.mariadb.org/mariadb/repositories/。存在一些依赖问题,它们成功地完全破坏了MySQL,因此现在根本无法工作了。我计划完全卸载MySQL和MariaDB,从头开始。下次我想知道的是:

  • 我需要安装MariaDB吗?或者普通的MySQL会和RMariaDB一起工作吗?(这两个数据库之间的关系让我有点困惑。)
  • 在设置MySQL时,我需要做一些特殊的事情来确保caching_sha2_password插件工作吗?我担心这与我最初为根用户设置密码的方式有关。

任何想法都会有很大帮助。谢谢!

-克雷格

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-30 19:25:52

好的..。这似乎奏效了。首先,我删除了MySQL和MariaDB,使用https://dev.mysql.com/downloads/mysql/下载安装了8.0.12 MySQL,并遵循了https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html的说明。

我卸载了我的所有驱动程序,并重新安装了unixODBC sudo apt-get remove unixodbc unixodbc-dev tdsodbc odbc-postgresql libmyodbc libsqliteodbc sudo apt-get install unixodbc unixodbc dev。

在我安装libmariadbclient-dev之前,事情就出了问题。相反,我跑了

代码语言:javascript
复制
sudo apt-get install libmariadb-client-lgpl-dev

这安装了MariaDB客户端,而不破坏MySQL。我真的不知道这两者有什么区别。

为了消除caching_sha2_password插件的错误,我需要在启动MySQL服务器时更改默认身份验证模式:

代码语言:javascript
复制
sudo ./mysqld_safe --user=mysql --default-authentication-plugin=mysql_native_password &

在这个时候,我可以

代码语言:javascript
复制
con <- dbConnect(RMariaDB::MariaDB(),
                 host='127.0.0.1',
                 user='root',
                 password='password')

没有任何麻烦。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51567604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档