최근 DB를 배우면서.. 집이 아닌 외부에서 DB서버가 돌아갈 필요성을 느꼈다. 그래야 내가 여기저기서 접속할 수 있을테니. 하지만 이 분야에는 까막눈.. 회사를 차리는 것도 아니니.. 최대한 무료로 클라우드에서 가상 서버를 돌리고, 그 위에서 DB서버를 돌려서 외부에서 접속할 수 있는 환경을 만들어 보고자 한다. 물론 나중에는 여기서 이것저것 더 추가되겠지? 나 같은 까막눈을 위해서 발자취를 남겨본다.
> 아니.. 무료로 뭐 좀 할라고 했더니.. 애초 회원가입부터 막히네.. 하.. 시간 아까워서 그냥 무료가 아닌 '소액'으로 목표 변경!
우분투에서 mysql을 사용하려고 하였던 이유가.. 윈도우에서 mysql을 계속 쓰고, 윈도우 workbench에서 접속하기 위해서였다. 그런데 좀 보니깐.. mariaDB로 설치해도 접속이 가능하고, 완전 무료라.. 이게 낫겠다고 판단!
아.. 그러는 와중에 어제에 이어 오늘 다시 시도해본 오라클 무료계정이.. 이제 된다.. -_-;; 어제 안 된 것에 대해서 새로 시도한 것은 단 하나.. 장소를 변했다는 것.. 당연히 컴터도 변함.. 으음.. 왜 될까?? 몰름ㅋㅋ
거.. 여차하면 어제 만든 서버 뭉개고 새로 하나 올려야겠다 싶기도 하다. 뭐.. 이것저것 해보면서 익숙해진다 생각해야지. 젠장.. 되는 척 페이크 주고 안 된다.ㅋㅋㅋㅋ 미친ㅋㅋㅋㅋ 다시 가비아로 돌아가자ㅋㅋㅋㅋ
자, 이제
MariaDB 설치
우선 업데이트
apt-get update
이제 설치
#server 설치
$ apt-get install mariadb-server
#client 설치
$ apt-get install mariadb-client
#기본설정하기
$ mysql_secure_installation
자잘한 설정 후 접속 해보기. 성공! 데이터 베이스 보기 및 버전 확인.
mysql -p
show databases;
select version();
이제 원격접속할 계정을 만들고(root는 원격접속을 차단함), 권한을 부여하자.
>create user 'dbuser'@'%';
>grant all privileges on *.* to dbuser;
>flush privileges;
>exit;
#재접속
$mysql -u dbuser -p
#접속 후 패스워드 설정
>set password for 'dbuser'@'%' = password('new password');
#권한 확인
>show grants;
>create database stock;
#DB생성 확인
>show databases;
권한설정 정상동작 확인함.
이제
외부접속(원격접속)
이 상태에서 윈도우에서 원격접속을 시도해보자.. 실패..
두가지를 해줘야 할 듯. 1. 방화벽 설정. 2. mariaDB설정
1. 방화벽설정
우분투에서는 열려 있는 것 같은데.. 가비아에서 3306 포트를 열러 가자.
방화벽 설정에 들어가서 인바운드 규칙 추가함.
3306은 열려 있지 않았다! 우선 이것만 변경 후 다시 접속 시도. 다시 실패 ㅠ..ㅠ
2. mariaDB설정
/etc/mysql/my.cnf에 설정이 있다고 하였으나.. 나는 거기에 없었다.. ㅠ..ㅠ 여기저기 찾아본 결과.. 저기에 있다.
vi /etc/mysql/my.cnf ##특별한 내용 없음.
#아래에 있더라
vi /etc/mysql/mariadb.conf.d/50-server.cnf
bind_address = 0.0.0.0
바인드 어드레스 수정해줌.
다시 외부접속 테스트! 되려나?? 아.. 안된다.. 맞다.. 재시작해야지.. mysql 재시작 후 접속 시도. 성공!!
감격스럽다.. ㅠ..ㅠ 이제 소기에 목적을 달성했으니.. 일단 서버는 내비두고 다른 걸 하러가자.. nginx와 php는 급하지 않으니 나중에ㅋㅋ 저 두개가 뭐하는건지도 아직 모르겠다ㅋㅋ