반응형

Spring JdbcTemplate를 이용한 DB access 새믈 소스를 구현하던 중


현재의 환경 즉, 소스 실행은 Mac, DB는 가상환경(Parallels)에서 동작중인 Ubuntu에서 MariaDB를 사용하는 상황에서의 원격접속 문제를 우선 해결해야 진도를 나갈 수 있게 되어 그 방법을 정리해 보았다.


기본적으로 MySQL (MariaDB - 이하 MariaDB로 하겠다.)은 설치 시 local환경에서만 동작되도록 설정되기 때문에 원격접속을 위해서는 별도의 설정을 해야한다.


현재 unbuntu환경은 방화벽 설정이 없기 때문에 그 부분은 넘어가도록 하겠다.


step 1.>>>


/ect/mysql>vi my.cnf

...

bind-address     = 127.0.0.1

...


위와 같은 부분이 있을 것이다. 이 부분을

...

#bind-address     = 127.0.0.1

bind-address      = *

...


로 변경한다.


step 2 >>>

$ service mysql status

--> 서비스가 동작중인지 확인

$ mysql -uroot -p

--> mysql로 login


MariaDB [none]> use mysql


MariaDB [mysql]> select host from user;

--> root계정의 것을 본다. localhost만 있다면 로컬에서만 접속 가능한 것이다.


MariaDB [mysql]> insert into user (host, user, password) values('%', 'root', password('패스워드'));

MariaDB [mysql]> grant all privileges on *.* to 'root'@'%';

--> 1. 위 2줄은 모든 IP를 허용하기 위한 것이다.

MariaDB [mysql]> insert into user (host, user, password) values('111.222.%', 'root', password('패스워드'));

MariaDB [mysql]> grant all privileges on *.* to 'root'@'111.222.%';

--> 2. 위 2줄은 특정 대역(여기선 111.222.*.*)에 대해서 허용

MariaDB [mysql]> insert into user (host, user, password) values('111.222.333.444', 'root', password('패스워드'));

MariaDB [mysql]> gralt all privileges on *.* to 'root'@'111.222.333.444';

--> 3. 위 2줄은 111.222.333.444 ip 하나에 대해서만 허용

MariaDB [mysql]> flush privileges;

--> 1, 2, 3번중 상황에 맞게 사용


****

MariaDB [mysql]> delete from user where host='%' and user = 'root';

MariaDB [mysql]> flush privileges;

--> 원상복구



위와 같이 처리하면 원격에서 접속이 가능하다.

반응형

+ Recent posts