mariaDb 연결 메모 R 연결

mariaDb 인코딩 셋 에러가 나서 아래와 같이 간단하게 정리 한다. 

이것은 R 연결 까지 되어 있고,  R source 코드까지 기록되어 있다.    지금 내가 세팅 한것은 UTF8버전으로 잘되어 있는거 같은데,   회사 것은 그렇지 않아 보인다. 


# maria db 설치

sudo apt update

sudo apt install mariadb-server

sudo mysql_secure_installation


# 환경 설정 

sudo vi /etc/my.cnf


[mysqld]

socket=/var/lib/mysql/mysql.sock


[client]

socket=/var/lib/mysql/mysql.sock



# 마리아 DB 실행 

sudo mariadb


# 마리아 DB 아이디 생성 및 DB 생성

 use mysql;

create database mdb01;

create user 'yongas'@'%' identified by '3207mymy';

grant all privileges on mdb01.* to 'yongas'@'%';


마리아 DB 관리 툴

https://dbeaver.io/download/

연결된 캐릭터 셋




# 마리아 사용자 삭제

select Host, User from user;  # 마리아 DB 확인 

drop user 'yonage'@'localhost';



# 마리아 DB Character Set

show variables like 'c%';

마리아 DB 캐릭터 셋


만약에 캐릭터 데이터 셋에 문제가 있다면,  DB 만들때,  아래와 같이 하여야 한다. 
CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;


 # install.packages("RJDBC")
 # install.packages("RMariaDB")
 # 

library(RMariaDB)
library(DBI)

con <- dbConnect(MariaDB(), host = "localhost", dbname = "mdb01",
                 user = "useid", password = "passwd", port = 3306)


# 벡터 데이터 만들기 
bankName <-  c("농협은행",  "국민은행", "신한은행", 
               "우리은행",  "하나은행", "기업은행")
지점수 <- c(1149, 1055, 872, 880, 765, 612)


# 벡터 데이터 data.frame에 넣기  
hangul_test <- data.frame(bankName, 지점수)



# 데이터 있는지 확인하고 있으면 날리기 
if(dbExistsTable(con,"hangul_test") == TRUE)  dbRemoveTable(con, "hangul_test")
data <- dbWriteTable(con, "hangul_test", hangul_test)
get_hangul <-  dbReadTable(con, "hangul_test")

get_hangul




에러에 대한 트러블 슈팅

'/var/lib/mysql/mysql.sock' (2)

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
service mysqld restart

ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/m
ysql.sock' (40)  

chown mysql.mysql -R /var/lib/mysql 




댓글 없음:

댓글 쓰기

공무 스케줄 AI Agem에 대한 생각

     지금 상황이 아비 규환이다.  어느 부서든 회사가 인수 합병되고 나서  투자를 기획하는 경영기획이 특히 않이 정신이 없고, 우리부서도 전부 미국 필리 조선소로 인원이 나가 있어,  사실상 10년 이상 고기량자는 거의 없다.   우리부서에 남아...