2014-07-11 1 views
4

방금 ​​MAMP를 사용하여 첫 번째 SQL 데이터베이스를 만들었습니다. (. 애완 동물의 단지 목록을 SIMPLE-한다) 내가 여기 R.에로드하고 싶은 것은 내가 쓴 것입니다 :어떻게 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)) 

어떤 생각 어떤이 의미 또는 어떻게 해결할 수 있습니까?

답변

1

호스트는 컴퓨터 이름입니다. 그러므로 간단히 말해 localhost. 두 번째 단계에서 올바른 데이터베이스를 선택하십시오. 당신이 포트를 의미하는 것을 목적으로하는 경우

+0

@Lorenz에게 응답 해 주셔서 감사합니다. 나는 마지막으로 "mysqlNewConnection (drv, ...)의 오류로 변경되었습니다 : RS-DBI"호스트 = "localhost/DatabaseGrace"host = "localhost/DatabaseGrace"host = "localhost" 드라이버 : (데이터베이스에 연결할 수 없습니다 : 오류 : '/tmp/mysql.sock'(2) 소켓을 통해 로컬 MySQL 서버에 연결할 수 없습니다.) " – Grace

4

내가 1234

하지 않고, 호스트 이름이 "localhost"를해야한다고 생각, 나는 MySQL은 참으로 해당 포트에서 수신되어 있는지 확인하십시오 것입니다. 기본값은 3306입니다. 관리자는이를 변경하기위한 의식적인 결정을 내려야합니다.

일반적인 표기법은 Java의 경우 "localhost : 3306"입니다. 포트 번호를 포함해야하는 경우 콜론을 사용하여 호스트 이름과 구분하십시오.

admin 쉘을 사용하여 MySQL에 연결할 수 있습니까?

localhost가 DatabaseGrace라는 데이터베이스에 연결할 수있는 권한을 부여 했습니까? 그렇지 않다면, MySQL은 당신이 연결하는 것을 허용하지 않을 것입니다.

http://dev.mysql.com/doc/refman/5.1/en/grant.html

로컬 호스트는 데이터베이스가 로컬 컴퓨터에서 실행되고 있는지 나에게 제안합니다. 그게 사실이야? 그렇지 않으면 localhost가 올바른 호스트 이름이 아닙니다. 또한 컴퓨터와 데이터베이스 사이에 방화벽이있어서 연결을 방해 할 수 있습니다.

cutting & pasting any errors I get into Google에서 많은 마일리지가 발생하여 다른 누구도 내 문제를 경험하지 못했는지 확인합니다. 다음은 first hit입니다.

+0

응답을 위해 @duffymo에 감사드립니다. 번호를 제거하면 오류가 변경됩니다. 온라인 데이터 테이블을 볼 때 Server : localhost : ####»Database : DatabaseGrace가 표시됩니다. 4 자리 숫자가 없으면 "Error in mysqlNewConnection (drv, ...)"이됩니다.) : RS-DBI 드라이버 : (데이터베이스에 연결할 수 없습니다 : 오류 : '/tmp/mysql.sock'(2) 소켓을 통해 로컬 MySQL 서버에 연결할 수 없습니다 "다시 한번 감사드립니다! – Grace

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") 

감사합니다.

관련 문제