无法连接到服务器

voj3qocg  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(357)

背景故事,我想建立闪亮的应用程序,给我们的一些数据采集者,让他们可以审查什么已经收集。目前,我们所有的数据都存放在基于云的mysql服务器上。理想情况下,我希望闪亮的应用程序直接从mysql服务器提取数据,这样它就可以完全自动化,无需任何数据提取和24/7。
我一直试图首先使用rmysql包在r和mysql之间建立连接,但似乎无法让它工作。我为这个连接设置了一个只读的特定用户名/密码(但是我也尝试了我的常规用户名,它授予了所有特权)。这是我正在运行的代码;

  1. mydb=dbConnect(
  2. MySQL(),
  3. user='myuser',
  4. password='mypass',
  5. dbname='vgtg',
  6. host='ipaddress',
  7. port=3306,
  8. )

很明显,服务器的“ipaddress”已经更改,以便在这里发布,但它是一个通用的地址,如

  1. '192.168.1.1'

当我运行上面的代码时,我得到这个错误消息;

  1. Error in .local(drv, ...) :
  2. Failed to connect to database: Error: Can't connect to MySQL server on
  3. 'ipaddress' (0)

我试图寻找以前的问题张贴,但似乎没有一个正是这个错误信息,我收到。这让我想到,出于某种原因,rmysql正在本地寻找服务器,而实际上它是一个基于云的远程服务器。
另外,还有什么我应该设置服务器端允许连接吗?我确实有一个服务器管理员来帮忙,但我不知道他有多熟悉r,同样我也不是特别熟悉与服务器的工作。他已经为我打开了3306端口,并且能够看到我试图通过该端口进行连接。

4urapxun

4urapxun1#

你的语法是正确的除了

  1. port=3306,

你得去掉逗号。也就是说,您收到的错误与语法无关。
如果不知道设置的细节,就很难诊断。mysql数据库驻留在哪里?例如,如果它在awsrds示例上,那么主机不是标准的ip地址,它是这样的

  1. mydb.cm1abc2v4mod.us-west-1.rds.amazonaws.com

假设您使用的ip地址是正确的,那么问题很可能出在服务器上。你需要确保3306号港口通车。否则,r将无法连接到db。

相关问题