通过 opencpu javascript R 库和 mysql 的 rmysql 库连接到远程数据库

connecting to remote database via opencpu javascript R libarary and rmysql library for mysql

我在尝试通过 opencpu javaR 和 RMySQL 库的脚本库访问远程服务器上的数据库时遇到一个特殊问题。特别是,我编写了使用 RMySQL 库从远程 mysql 服务器访问数据的 R 函数。我正在使用 opencpu java 脚本库从 Web 应用程序调用此 R 函数。

函数能够连接(到远程 mysql)并在服务器上的 R shell 内部执行。但不是通过 opencpu 库。 Mysql 连接设置在 ~/.my.cnf 中,按照 RMySql 包的指示。

所以,简单说一下开发环境的搭建

  1. 我已经在 vmware 上的 ubuntu 服务器 14.04 运行 上安装了 opencpu-server、r 和我的包含函数的包。
  2. MySql 是主机 Ubuntu 操作系统上的 vmware 外部。

我进入 Opencpu 客户端时出错

Failed to connect to database: Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)


In call:
.local(drv, ...)

我怀疑 opencpu 服务器是否没有检查 ~/.my.cnf 数据库连接设置。解决问题的任何指示都会有所帮助。

谢谢

可能是几件事:

  • ~/.my.cnf 文件仅适用于您的用户名。 opencpu 服务器在 apache 下运行,即 www-data。它不会从您的个人主目录读取配置文件。尝试将其放入 /etc/mysql/my.cnf/etc/mysql/conf.d.

  • 下的文件中
  • 请检查错误日志 /var/log/kern.log/var/log/apache2/error.log。可能存在安全问题。阅读 opencpu PDF manual 中有关自定义的第 3.5 节 安全配置文件。