我刚开始使用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/. 有一些依赖性问题,成功地完全打破了mysql,所以现在没有任何工作了。我计划完全卸载mysql和mariadb,从头开始。下次我想知道的是:
我需要安装mariadb吗?或者普通的mysql会和rmariadb一起工作(两个数据库之间的关系让我有点困惑。)
在设置mysql时,我需要做一些特殊的事情来确保缓存sha2密码插件正常工作吗?我担心这与我最初为root用户设置密码的方式有关。
任何想法都会大有帮助。谢谢!
--克雷格
1条答案
按热度按时间wmtdaxz31#
好 啊。。。这似乎奏效了。首先,我删除了mysql和mariadb,并使用从https://dev.mysql.com/downloads/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
. 相反,我跑了这安装了mariadb客户端而没有破坏mysql。我真的不知道这两者有什么区别。
以消除
caching_sha2_password
插件,我需要在启动mysql服务器时更改默认的身份验证模式:在这一点上,我可以跑了
没有任何麻烦。