2014-07-25 2 views
2

내 로컬 컴퓨터에있는 MySQL 데이터베이스에 대한 액세스가 필요한 shiny.io에서 반짝 이는 응용 프로그램을 만들려고합니다. RMySQL을 사용하여 shiny.io에서 로컬 데이터베이스에 연결할 수 있습니까? 그리고 어떻게 할 수 있습니까?shiny.io로 로컬 mysql 서버에 액세스

답변

2

나는 내 대답에 약간 "늦었다."그러나 shiny.io에 배포하는 경우 "localhost"가 shiny.io를 가리키고 거기에 당신을위한 mysql이 없다는 것을 명심하십시오 :-) 따라서 MySQL 서버를 열고 "host"변수에 공개 IP 주소를 사용해야합니다. 보안상의 관점에서 MySQL 서버를 공개하는 것은 현명하지 않습니다. 최소한이 방법을 따르는 경우 shiny.io의 IP 주소 만 허용하도록 연결을 필터링해야합니다.

내 생각에 다른 해결책은 mongohq.com (현재 compose.io)과 같은 지속성 계층을 제공하는 이미 공용 서버를 사용하는 것일 수 있습니다. 그들은 MongoDB (MySQL이 아님)를 사용하지만 사용자의 요구를 만족시킬 수 있습니다 (512MB RAM 테스팅 서버를 무료로 얻을 수 있습니다). 프로젝트를 시작하려면 this working example that uses shiny.io and mongo을 공부하는 것이 좋습니다.

0

사용법은 정규 R 스크립트와 본질적으로 같습니다. 당신은

library(RMySQL) 
con = dbConnect(MySQL(), user='myusername', password='mysillypassword', db='dataaa', host='localhost') 

query = "SELECT 1" 
result = dbGetQuery(con, query) 

지금 반짝 응용 프로그램의 나머지 부분에 대한 사용할 수 있습니다 결과 당신의 server.R 파일의 상단에이를 넣을 수 있습니다.

리액션 함수 내에서 쿼리를 빌드하고 데이터베이스를 동적으로 쿼리 할 수도 있습니다.

+0

mysql 사용자 이름과 암호를 스크립트에 저장하는 대신 옵션 파일에 저장하는 것이 좋습니다. 예를 들어 서버의 반짝이는 사용자 인 /home/shiny/.my.cnf의 mysql 구성 파일에 암호를 저장할 수 있습니다. 또한 [옵션 파일을 사용하는 MySQL] (https://dev.mysql.com/doc/refman/5.7/en/option-files.html) 및 [MariaDB my.cnf 구성] (https : // mariadb. com/kb/ko/library/configuration-mariadb-with-mycnf /). –

관련 문제