데이터베이스를 만지다보면,

일반적인 컬럼의 수정방법의 경우

update '테이블이름' set 변경대상컬럼 = '변경할내용' where 변경조건컬럼 = '변경조건'

이런식으로 한줄이면 종료된다.

그러나 JSON 데이터의 경우 아래와 같이 변경할 대상이 여러가지다.

 

const jsonData = { 이름 : 누구누구, 나이 : 30, 주소 : 서울 }

이런 경우 전부 다 바꾸고싶을 때가 있고, 내가 원하는 컬럼만 수정하는 방법이 있다.

이 글에서는 위의 jsonData를 바탕으로 내가 원하는 컬럼만 수정하는 것을 해보겠다.

update '테이블이름' set jsonData = JSON_SET(jsonData,'$.나이', 33)

변경후 데이터

 

const jsonData = { 이름 : 누구누구, 나이 : 33, 주소 : 서울 }

끝!

 

실제 리눅스에 MariaDB 서버를 설치하고, 서버내에서 접근은 잘되는데

외부에서 접근이 안되었다.

올바르게 조치하는 방법을 알아보자.

필자는 firewalld 패키지가 설치되어 있고, 3306포트가 지정이 되있다고 가정한 뒤에 진행한다.

# 권한을 부여하고 싶은 사용자 추가, root여도 마찬가지
CREATE USER '사용자ID'@'%' IDENTIFIED BY '패스워드';

# 사용자별 모든 권한을 줌
grant all privileges on *.* to '사용자ID'@'%';

# 변경사항 적용
FLUSH PRIVILEGES;



이렇게하니 외부에서 접근이 된다.

윈도우의 경우에는 메모장 파일을 직접 수정하면되지만, 필자는 리눅스기 때문에 명령어로 적어보겠다.

sudo vi /etc/my.cnf

my.cnf에 아래 스크립트 추가

[mysqld] lower_case_table_names=1

0 = 대소문자 구분

1 = 테이블 및 데이터베이스 이름을 전부 소문자로 취급

2 = 대소문자를 구분하지만, 디스크에는 소문자로 저장

sudo systemctl restart mysqld [mariadb] // mariadb는 mariadb라고 적으면 됌

 

+ Recent posts