library(RMySQL)

 

> dbConnect( MySQL() )
Error in .local(drv, ...) :
  Failed to connect to database: Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

>

 

tmp/mysql.sock을 통해 MySQL로 접근할 수 없다고 에러가 뜬다.

 

# Ubuntu

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"

 

 

# MariaDB

$ mysql --version
mysql  Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using  EditLine wrapper

 

 

 

 

1. libmariadb-client-lgpl-dev 설치

$ sudo apt-get install libmariadb-client-lgpl-dev

 

 

2. MariaDB socket file 위치 확인

$ ls -al /var/run/mysqld/mysqld.sock

srwxrwxrwx 1 mysql mysql 0 Sep 12 05:56 /var/run/mysqld/mysqld.sock

 

MyriaDB 설치시에 변경하지 않으면, default 경로는 위와 같다.

 

 

3. R에서, unix.socket 경로를 입력하여 dbConnect() 동작 확인

 

> library(RMySQL)

> con <- dbConnect(RMySQL::MySQL(),

                   dbname = "dbname",

                   username = "id",

                   password = "passwd",

                   host = "localhost",

                   port = 3306,

                   unix.socket="/var/run/mysqld/mysqld.sock")

 

 

Posted by sosal sosal

댓글을 달아 주세요