热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在Linux中安装RMySQL时如何选择MySQL版本

我正在Docker容器中运行R应用程序,并想使用RMySQL库连接到MySQL8数据库。我可以使用<te

我正在Docker容器中运行R应用程序,并想使用RMySQL库连接到MySQL 8数据库。我可以使用

终端命令从容器连接到数据库,而没有任何问题,但是当我在R脚本中调用mysql时,出现未知的SSL连接错误(见下文)。

由于我在终端命令以及R脚本中使用相同的SSL证书,因此它必须与RMySQL使用的MySQL版本有关。我也需要在容器中安装MySQL 5.7,因为其他一些R软件包不能以其他方式构建。但是,根据下面的线程,您可以指定安装RMySQL时要使用的MySQL版本的目录:

adding RMySQL package to R fails (on Windows)?

因此,我在dbConnect()中设置了$MYSQL_HOME并命名为/etc/R/Renviron.site

显然,您还需要复制一些.lib和.dll文件以使其在Windows中工作,但是在Linux上哪里可以找到等效文件?

数据库处理程序脚本:

install.packages('RMySQL',type='source')

传递给#' @import DBI
#' @import RMySQL
connectToDatabase <- function(myproject.db_config) {
dbConfig <- read.properties(myproject.db_config)
print(dbConfig)
dbHandle <- dbConnect(
MySQL(),dbname = dbConfig$databaseName,host = dbConfig$host,port = as.integer(dbConfig$port),user = dbConfig$user,password = dbConfig$password
)
return(dbHandle)
}
命令的配置文件:

read.properties()

R中的错误消息:


  

connection_create(主机,用户名,密码,dbname,as.integer(端口)、:
   连接失败:SSL连接错误:错误号未知


我自己找到了解决方案。未在dbConnect()调用中应用SSL证书。它们需要在mysql.cnf文件中定义,并通过dbConnect()参数传递到default.file

dbHandle <- dbConnect(
MySQL(),dbname = dbConfig$databaseName,host = dbConfig$host,port = as.integer(dbConfig$port),user = dbConfig$user,password = dbConfig$password,default.file = dbConfig$configFile
)

传递给read.properties()命令的配置文件:

host=domain.subdomain.de
port=3306
user=john.doe
password=mypassword
databaseName=my_db
cOnfigFile=/staging/config/mysql.cnf

mysql.cnf

[mysqld]
ssl-ca=/staging/mysql-ssl/ca.pem
ssl-cert=/staging/mysql-ssl/client-cert.pem
ssl-key=/staging/mysql-ssl/client-key.pem

推荐阅读
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • This guide provides a comprehensive step-by-step approach to successfully installing the MongoDB PHP driver on XAMPP for macOS, ensuring a smooth and efficient setup process. ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 本文探讨了在 Vue 2.0 项目中使用 Axios 获取数据时可能出现的错误,并提供详细的解决方案和最佳实践。 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
author-avatar
歪歪Doris
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有