我刚刚使用MAMP创建了我的第一个SQL数据库。 (这很简单 - 只是一个宠物列表。)我想将它加载到R.这是我写的:
install.packages("dbConnect")
library(dbConnect)
mypets=dbConnect(MySQL(),user="root",
host="localhost1234/DatabaseGrace")
返回此错误:
Error in mysqlNewConnection(drv, ...) :
RS-DBI driver: (Failed to connect to database: Error: Unknown MySQL server host 'localhost1234/DatabaseGrace' (2))
知道这意味着什么或我如何解决它?
答案 0 :(得分:8)
谢谢@duffymo和@Lorenz。
要点:
这是最终起作用的。
install.packages("RMySQL")
install.packages("dbConnect")
library(dbConnect)
dbGrace=dbConnect(MySQL(),user="root",
host="localhost",
dbname="DatabaseGrace",
password="root",
unix.sock="/Applications/MAMP/tmp/mysql/mysql.sock")
谢谢,全部!
答案 1 :(得分:4)
我认为主机名应该是" localhost",没有1234.
如果您打算表示端口,我会检查以确保MySQL确实正在侦听该端口。默认值为3306;管理员必须做出有意识的决定来改变这种状况。
通常的表示法是" localhost:3306"在Java中。如果必须包含端口号,请尝试使用冒号将其与主机名分开。
您可以使用admin shell连接到MySQL吗?
您是否已授予localhost连接到名为DatabaseGrace的数据库的权限?如果没有,MySQL不允许你连接。
http://dev.mysql.com/doc/refman/5.1/en/grant.html
localhost告诉我数据库正在本地计算机上运行。真的吗?如果没有,localhost不是正确的主机名。这也可能意味着您的计算机和数据库之间有防火墙阻止您连接。
我从cutting & pasting any errors I get into Google获得了很多里程,看看是否有其他人遇到过我的问题。这是first hit。
答案 2 :(得分:1)
主机是计算机名称。所以简单地说localhost
。
在第二步中选择正确的数据库。
答案 3 :(得分:0)
这对我在 MAC 上使用 XAMPP 有效:
library(RMySQL)
con=dbConnect(MySQL(),
host='localhost',
unix.sock='/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock',
user='root',
password='...'
)
df=dbGetQuery(con,'SHOW DATABASES')
print(df)