如何从云实例(最好是从R内部)访问我的笔记本电脑上的MySQL服务器中的数据库?

时间:2017-08-27 00:04:48

标签: mysql rmysql

我想澄清一些事情。

(我在Ubuntu 16.04上运行的远程VM上安装了mysql客户端,目标是从R内部访问数据库,但到目前为止我一直在尝试使用mysql:mysql -u root -p -h fe80::883f:XXXX:XXX:XXXXX -P 3306其中for" XXX"我在发出命令ipconfig时尝试了我在Windows命令行中获得的每个IP地址。

为了缩小我的疑难解答,我想要几个指点:

  1. 我是否需要在mysql配置文件中为我的远程(云)实例提供IP地址(因此在安装了mysql服务器的dir中的windows中找到my.cnf或其等价物并绑定远程/云的地址VM我试图从我的笔记本电脑上访问数据库。)
  2. 2 SSL,这是否需要启用?

    此外,从Windows上的Ubuntu上的Bash(WSL),我可以使用`mysql -u root -p' xxx'登录到mysql服务器。 -h'即来自windows命令行ipconfig输出的ip地址称为"链接本地IPv6地址"。经过几个帖子并利用我的想象力(这让我在排除故障时遇到了麻烦),我觉得在MySQL服务器的一些配置文件中dir必须"绑定地址"对于远程VM(我从笔记本电脑通过putty访问),我正在思考正确的道路?

    至于mysql服务器中root用户的权限,我相信我已经赋予root每个权限(如下所示): enter image description here

2 个答案:

答案 0 :(得分:2)

如果您要使用RJDBC软件包, 将坚持使用JDBC。 ODBC可能是"关闭一个字母",但它不是同一个东西。

你需要做一些事情:

  1. Windows机器上的数据库必须正在运行,可从Linux机器上看到,并且有一个可用的JDBC驱动程序JAR,可以连接到它。如果您告诉我您的数据库是Microsoft Access,那么您已经完成了。 Access没有免费的JDBC驱动程序。
  2. 您必须在Linux机器上为您的数据库安装JDBC驱动程序JAR,在R将用于查找它的CLASSPATH中。
  3. 您需要在Linux计算机上安装JDK。我建议您安装版本低于8的版本。
  4. 一旦到位,它应该很容易。我做到了。

答案 1 :(得分:0)

我解决了我的问题,可以通过远程激活访问我的笔记本电脑上的MySQL服务器(我使用putty访问如下: 在putty中首先使用3307作为源,检查远程单选按钮,将目标设置为localhost:3306并在VM中的Bash提示符下: mysql -u root -p -h'127.0.0.1'-P 3307

或者从Linux(我使用WSL)Bash提示符:

#从Windows Linux子系统(WSL)访问远程VM ssh -R 3307:localhost:3306 blsingh@149.165.169.21

##从WSL中的Bash提示符访问我的笔记本电脑上的MySQL服务器 mysql -u root -p -h'127.0.0.1'-P 3307

  • 从这里开始,不难弄清楚如何在R中访问它;我们有一个远程端口转发,我们在R。
  • 中使用相同的参数