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 




댓글 없음:

댓글 쓰기

[주식 클로드 자동매매 프로젝트] 제2편. 데이터 인프라 구축 — 모델보다 데이터가 먼저다

 머신러닝 모델을 이야기하기 전에, 그 모델이 먹는 데이터가 어디서 어떻게 왔는지부터 정직하게 밝혀야 한다. 이 프로젝트에서 가장 많은 시간이 들어간 부분은 화려한 모델 튜닝이 아니라, "내가 정말 그 데이터를 갖고 있는가"를 확인하...