본문 바로가기

개발관련

virtualBox에서 mysql 세팅방법

반응형

virtualBox를 사용하면 가상화된 서버환경을 만들어 Live 서버의 환경과 동일하게 구성하고

실제 프로젝트 배포 시에 어떤이슈가 발생할지, 서버 인프라의 구성과 설정을 어떻게 해야하고 배포 전략과 프로젝트를 어떻게 관리해야할 지 쉽게 테스트 해볼 수 있습니다. 이러한 이점때문에 개발 시에 가상머신을 사용합니다.


이 글에서는 가상머신에서 mysql을 설치하고 초기 설정하는 방법을 설명합니다.


해당 글은 virtualBox에 ubuntu 16.04 lts 이상의 서버가 생성되어져있다는 가정하에 작성하였습니다.


이 글에서는 ubuntu-18.04-lts-server를 사용하여 테스트했습니다.

ubuntu server이미지는 여기에서 다운받으실 수 있습니다 -> https://www.ubuntu.com/download/server


<순서>

1. mysql 설치

2. mysql charset 변경

3. mysql 외부 접속 설정 및 방화벽 설정



1. 먼저 아래 링크를 참고하여 ubuntu에서 mysql을 설치합니다.

https://zetawiki.com/wiki/%EC%9A%B0%EB%B6%84%ED%88%AC_MySQL_%EC%84%A4%EC%B9%98


설치 후 mysql 기본 언어셋이 latin1으로 세팅되어져 있을 겁니다.

이 mysql의 기본 언어셋을 utf8mb4로 세팅해주어야합니다.

이유는 mysql에서 한글깨짐을 방지하기위해서 입니다.

*(utf8과 uft8mb4의 차이)


2. 아래의 링크를 참고하여 mysql의 기본 언어셋을 다시 세팅해줍니다.

https://inma.tistory.com/100


3. mysql은 기본적으로 localhost에서만 접속되도록 설정되어있습니다.

이 부분을 변경해주어야합니다.


아래의 명령어를 실행하여 mysql의 설정파일을 수정합니다.

---

$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf


위 명령어를 실행하면 설정파일로 들어갑니다.

그 안에서 

bind-address = 127.0.0.1 을 찾아서 주석처리해줍니다.

그리고 :wq로 저장후 빠져나와줍니다.


그다음에 변경한 설정을 적용해주기위해 아래의 명령어를 입력해줍니다.

$ sudo service mysql restart


이제 mysql에 접속하여 외부에서 사용할 mysql 외부접속 계정을 만들어줍니다.


mysql> use mysql;

mysql> create user 'test'@'%' identified by '1234';


username이 test이고 password가 1234인 외부접속 계정을 만들었습니다. '%'는 외부접속을 허용함을 의미합니다.

계정을 생성했으니 계정에 권한도 부여해줍니다.


mysql> grant all privileges on *.* to 'test'@'%';

mysql> flush privileges;


자 이제 방금 만든 계정으로 외부에서 virtualBox의 mysql에 접속할 수 있습니다.


virtualBox의 mysql 서버에 접속하는 방법은 2가지가 있습니다.

1. workBench, DBeaver, SequelPro같은 mysql 접속 툴을 사용하는 방법

2. 터미널(콘솔)을 사용하는 방법 


첫번째 방법은 각 툴마다의 사용법이 다르기때문에 공식 사이트에 접속해서 알아보는것을 추천합니다.

두번째 방법은 자신의 PC에 mysql이 설치되어있다면 터미널(혹은 콘솔)을 열고 아래의 명령어를 입력합니다.


$ mysql -h<virtualBox의 ip> -utest -p1234

ex) mysql -h192.168.56.101 -utest -p1234 


-h 옵션은 외부 서버의 mysql에 접속할때 사용합니다.

위의 예시에서는 192.168.56.101 ip를 가진 서버에서 좀전에 만든 test계정으로 접속을 시도한 명령어입니다.


이렇게해서 virtualBox에서의 mysql 설치부터 설정, 접속까지 간단하게 처리할 수 있습니다.


반응형