기술없는 기술 블로그 RSS 태그 관리 글쓰기 방명록
2021-04-10 23:55:12

마리아디비 설치는 sudo apt-get install mariadb-server를 터미널에 입력하면 설치할 수 있고 mysql과 사용법이 똑같아서 sudo mysql -uroot -p로 쉽게 접속할 수 있지만 라즈베리에 설치하다 보니 온라인으로 접속할 필요를 느껴서 워크벤치랑 온라인으로 연결하기로 했다.

나는 mariadb-server를 사용하니까 /etc/mysql/mariadb.conf.d 디렉토리 안에 있는 50-server.cnf를 편집한다.

$ sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf

bind-address = 127.0.0.1 부분을 주석처리하거나 지워준다.
일부러 구분하기 편하게 ## 두개로 주석처리했다.

bind-address는 해당 IP 주소에서 접속만 허용한다는 의미다. 루프백 IP 혹은 localhost로 부르는 IP가 127.0.0.1이니까 컴퓨터 내부에서만 접속을 허용한다는 의미다.

$ sudo service mysql restart


service 대신에 systemctl을 써도 상관없다. 설정을 바꿨으니 재실행 시킨다.

[mysql]> grant all on <DB이름>.<테이블> to <'user'>@<'host'> identified by <'password'>; [mysql]> flush privileges;


host 부분에 '%'를 넣으면 모든 IP에서 접근이 가능해지고 'localhost' 혹은 '127.0.0.1'을 넣으면 라즈베리파이에서만 접근이 가능하다. 원격으로 조회가 안된다는 뜻.

모든 DB와 테이블에 권한을 부여하고싶으면 *.* 을 특정 DB만 부여하고싶으면 <특정 DB이름>.* 를 특정 DB의 특정 테이블만 권한을 부여하고싶으면 <DB 이름>.<해당 DB에 있는 테이블 이름>을 적는다.