我刚开始使用与R的数据库连接(在Ubuntu16.04下),并且遇到了一些麻烦。在我在网上看到的文档之后,我尝试了这样的方法:
con <- DBI::dbConnect(RMySQL::MySQL(),
dbname='IFsHistSeries',
host='127.0.0.1')这给了我一条错误信息,上面写着:
Failed to connect to database: Error: Can't initialize character set unknown (path: compiled_in)从我在google上所能找到的情况来看,RMariaDB似乎比RMySQL更先进,所以我尝试了一下:
con <- DBI::dbConnect(RMariaDB::MariaDB(),
dbname='IFsHistSeries',
host='127.0.0.1')这导致了一个同样神秘的错误消息:
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,从头开始。下次我想知道的是:
任何想法都会有很大帮助。谢谢!
-克雷格
发布于 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之前,事情就出了问题。相反,我跑了
sudo apt-get install libmariadb-client-lgpl-dev这安装了MariaDB客户端,而不破坏MySQL。我真的不知道这两者有什么区别。
为了消除caching_sha2_password插件的错误,我需要在启动MySQL服务器时更改默认身份验证模式:
sudo ./mysqld_safe --user=mysql --default-authentication-plugin=mysql_native_password &在这个时候,我可以
con <- dbConnect(RMariaDB::MariaDB(),
host='127.0.0.1',
user='root',
password='password')没有任何麻烦。
https://stackoverflow.com/questions/51567604
复制相似问题