최근 DB를 배우면서.. 집이 아닌 외부에서 DB서버가 돌아갈 필요성을 느꼈다. 그래야 내가 여기저기서 접속할 수 있을테니. 하지만 이 분야에는 까막눈.. 회사를 차리는 것도 아니니.. 최대한 무료로 클라우드에서 가상 서버를 돌리고, 그 위에서 DB서버를 돌려서 외부에서 접속할 수 있는 환경을 만들어 보고자 한다. 물론 나중에는 여기서 이것저것 더 추가되겠지? 나 같은 까막눈을 위해서 발자취를 남겨본다.
> 아니.. 무료로 뭐 좀 할라고 했더니.. 애초 회원가입부터 막히네.. 하.. 시간 아까워서 그냥 무료가 아닌 '소액'으로 목표 변경!
NGINX, php, mysql을 설치하고자 하는데.. 뭐가 뭔지도 모르겠고 막 헷갈린다ㅋㅋ 뭐가 이래 복잡하누.. 난 그냥 어떻게든 오늘 안으로 mysql을 설치해서 내 컴퓨터에서 서버에 접속해서 주식 데이터를 조금이라도 넣고 돌려야 쓰것다...
뭘 먼저 설치해야 할지 모르겠는데.. 일단 내 목표가 mysql이니깐 그것부터 설치해보자.. 잘 될려나 -_-;;
먼저 우분투 자동설치 프로그램(?)을 최신화 시켜줘야 하나보다. root로 들어갔으니 sudo는 안 써도 될 듯.
sudo apt-get update
이제 mysql를 설치해보자.
sudo apt-get install mysql-server
아.. 그런데 글자가 잘 안 보인다.. 노안도 왔는데 큰일이다. putty 설정을 통해서 글자 크기를 키우자.
putty 실행창 위 우클릭 > "change settings" > "window" > "Appearance" > "Font settings" > Change 클릭 후 변경해주자.
오호.. 뭔가 폰트 설정하는 사이에 다 되었다. 잠시만.. 그러면 이제 mysql서버에 내가 접속할 수 있는 걸까? 아마 외부에서는 안 되고, 내부에서만 될 듯?
mysql workbench로 접속하니 안 들어가진다. 포트를 열어주자.
sudo ufw allow mysql
접속해 봤다.. 아니 안 되잖아 -_-;;
mysql 서비스 시작을 안 해서 그런가? 그러면 서비스를 시작해보자.
sudo systemctl start mysql
아아.. 여전히 안 된다.. 후..
mysql을 타이핑하니 실행은 됨. 음?? 뭔가를 더 설정하다보면 외부에서도 접속할 수 있을지도?
우선 우분투가 재시작할 때 함께 실행하도록 해야 한다고 함.
sudo systemctl enable mysql
현재 root 비번이 없는데.. 비번을 설정해주자.
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('새비번');
아 이렇게 하니깐 뭔가 안 된다. 아래로 변경함.
ALTER USER 'user-name'@'localhost' IDENTIFIED BY 'NEW_USER_PASSWORD';
FLUSH PRIVILEGES;
??? 잘 안 바뀌는데??? 검색 검색..
# 5.6 이하
> update user set password=password('new password') where user = 'root';
# 5.7 이상
> update user set authentication_string=password('new password') where user = 'root';
# 8.x 이상
> alter user 'root'@'localhost' identified with mysql_native_password by 'new password';
버전별로 다른가보다?? 나는 최신버전이니 제일 아래 구문으로 시도해보았다.
오.. 다시 나갔다가 접속하려고 하니 암호가 없다고 안 되는군. 이거야!
그런데 보니깐.. mysql 처음 설정하는 명령어도 따로 있나보다.. 그걸 한번 해봐야겠다.
mysql_secure_installation
오.. y/n로 이것저것 설정해 주면 되겠다.
다하고나서 보니 별로 설정한 건 없군. ㅋ
이게 보니깐.. 외부에서 접속하기 위해서 계정도 설정해야 하는 듯 하다. 패스워드를 설정했기 때문에 로긴하기 위해서는 아래처럼 실행.
mysql -r root -p #-r root는 굳이 안 넣어도 됨.
아.. 외부설정을 하려면 mysql 설정을 건드려야 하니.. 다시 우분투로 돌아와서 아래 파일을 열어보자.
vi /etc/mysql/mysql.conf.d/mysql.cnf #설치환경에 따라서 위치 다를 수 있음
여기서 외부 설정을 위한 bind를 고쳐야하는데.. 아무것도 없구나.. 사용자를 만들지 않아서 그런 듯?
사용자를 만들고 다시 해봐야겠다.
아.. 그런데 눈 아프게 왠 파란색이냐.. -_-;; vi 설정을 먼저 해야겠다.. 이야기가 새니깐.. 일단 마무리 짓고 다시 시작.