본문 바로가기

Others

VirtualBox + Ubuntu + MySQL 설치 하기

 

VirtualBox, Bionic Beaver(Ubuntu), MySQL Logo

 

회사에서 간단한 배치파일을 만들게 되었다.

이왕 만드는 김에 근본있게 만들어 보자 생각하던 중 Spring Batch  관련 글을 찾게 되었고, 주말인 오늘 실습해 보고자 한다.

 

라는 글을 쓰기 전에 조금 고민을 했다.


우선 환경 구축을 위해 MySQL을 설치해야 한다.

내 개인 PC에 Database 인스턴스를 설치하고 띄우긴 싫다.

VirtualBox를 설치할건데.. 또 윈도우 라이센스가 없다..

그냥 Ubuntu를 깔고 DB를 올리자.


 

그렇게 이 글이 탄생했다.

 

1. VirtualBox 설치

 무료 가상화 프로그램인 VirtualBox를 다운받자.

 5.2.38버전으로 받아 설치했다.

 VirtualBox 다운로드 링크

 

2. Ubuntu 18.04 다운로드

 설치를 위해 Ubuntu iso 파일을 다운로드 받는다.

 Ubuntu 다운로드 링크(카카오 미러)

 

3. VirtualBox 가상머신 생성

 [새로 만들기]를 클릭하여 가상머신을 생성한다.

 다음 단계 진행을 위해 아래 항목들을 세팅한다.
 - 가상머신 클릭 후 설정 진입
 - [저장소] > 저장 장치 > 컨트롤러:IDE / 비어있음 > Ubuntu.iso 마운트

 (Optional) 가상머신이 꽤 느릴 수 있기 때문에 일부 설정을 변경해준다.
 - [시스템] > 마더보드 > 기본 메모리(→ 2048)
 - [시스템] > 프로세서 > 프로세서 개수(→ 2)
 - [시스템] > 가속 > 반가상화 인터페이스(→ Hyper-V)
 - [디스플레이] > 화면 > 비디오 메모리(→ 128MB)
 - [디스플레이] > 화면 > 가속(→ 3차원 가속 사용하기 체크)

 

4. 가상머신 실행 / Ubuntu 18.04 설치

 

5. MySQL 설치

 Ubuntu 설치가 완료되면 터미널 실행 후 아래 명령을 수행한다


 a) mysql 설치

$ sudo apt install mysql-server


 b) mysql 접속 설정(매우 중요!!)

 이 것 때문에 정말 고생했다.
 내 가상화 설정이 잘못되었다고 생각했는데, mysql default 세팅 문제였다...
 (Heidi오류: Lost connection to MySQL server at 'handshake: reading initial communication packet', system error: 0.)

 아래 파일에 다음 2가지 옵션을 주석처리 해야 한다: #bind-address = 127.0.0.1    #skip-external-locking

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

 그래도 안 된다면 아래 파일에 다음 문장을 추가한다: mysqld:ALL

$ sudo nano /etc/hosts.allow


 c) mysql 실행

$ sudo mysql


 d) 계정 생성

mysql> GRANT ALL PRIVILEGES ON *.* TO 'wrallee'@'%' IDENTIFIED BY 'password';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> select user, host from mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| wrallee          | %         |
| debian-sys-maint | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)

 

6) VirtualBox 네트워크 설정

 호스트(Windows) - 게스트(Ubuntu) 간 통신을 위해 포트포워딩 설정을 한다.

 Ubuntu 터미널에서 아래 명령을 입력하여 가상 IP를 확인한다.

$ ip addr show

 아마 두 개가 조회 될 건데, inet 10.0.x.x/24 뭐 이런식으로 되어있을듯 하다.

 확인 후 가상머신을 아래와 같이 세팅해준다.
 - 가상머신 클릭 후 설정 진입
 - [네트워크] > 어댑터 1(NAT) > 고급 > 포트 포워딩 > 새 규칙 추가

 → 프로토콜:TCP
 → 호스트IP: 127.0.0.1 / 호스트Port: 13306
 → 게스트IP: 10.0.x.x / 게스트Port: 3306

 

7) HeidiSQL 다운로드

 여러 DB 접속 툴이 있겠지만 나는 HeidiSQL Portable을 받았다.

 다운로드 속도가 매우 느리지만 인내하고 기다렸다.

 HeidiSQL 링크

 실행 후 아래와 같이 입력하여 접속한다.
 → 호스트명/IP: 127.0.0.1
 → 사용자: wrallee
 → 암호: password
 → 포트: 13306