无法连接到服务器

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

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

mydb=dbConnect(
   MySQL(), 
   user='myuser', 
   password='mypass', 
   dbname='vgtg', 
   host='ipaddress',
   port=3306,
   )

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

'192.168.1.1'

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

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

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

4urapxun

4urapxun1#

你的语法是正确的除了

port=3306,

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

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

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

相关问题