M1 맥북 가상머신(VMware) Linux(Ubuntu)에 MySQL 설치

zihooy·2023년 5월 31일
0
post-thumbnail

M1 맥북 가상머신(VMware) Linux(Ubuntu)에 MySQL을 설치해보자.

🏹 MySQL 설치

가상머신 접속

Ubuntu 터미널에 접속한다.

가상머신으로 직접 들어가거나, 맥북 터미널에서 아래 명령어를 통해 접속할 수 있다.

ssh zihooy@192.168.0.76 -p22
//ssh {Ubuntu 사용자명}@맥북Ip -p22

MySQL 다운로드

sudo apt-get update

sudo apt-get install mysql-server

🏹 MySQL 외부 접속 허용

MySQL 등록

계속해서 Ubuntu 터미널에서 작업한다.

sudo ufw allow mysql

sudo systemctl start mysql // MySQL 실행
sudo systemctl enable mysql // Ubuntu 서버 재시작시 MySQL 자동 재시작

MySQL 외부 접속 허용

계속해서 Ubuntu 터미널에서 작업한다.

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

아래 화면처럼 bind-address 부분을 0.0.0.0으로 바꿔준다.

mysql을 재시작한다.

sudo systemctl stop mysql
sudo systemctl start mysql
// 혹은 restart
sudo systemctl restart mysql

MySQL 실행하기

sudo /usr/bin/mysql -u root -p

사용자 확인하는 쿼리

mysql> SELECT User, Host, authentication_string FROM mysql.user;

Table 생성하는 쿼리

mysql> CREATE DATABASE DB01;
mysql> SHOW DATABASES;

접근을 허용할 IP 등록

DB01 데이터베이스를 사용할 계정 testuser01 생성

주의할 점은, 계정에 접근할 수 있는 ip를 부여할 때, create 단계에서부터 동일하게 ip를 부여해야 한다.

mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'root';
mysql> FLUSH PRIVILEGES;
mysql> SELECT User, Host, authentication_string FROM mysql.user;

mysql> CREATE USER 'testuser01'@'192.168.0.%' IDENTIFIED BY '1234';
mysql> FLUSH PRIVILEGES;
mysql> SELECT User, Host, authentication_string FROM mysql.user;

접근 허용 IP 등록

❗️위에서 생성한 user에게 부여된 ip와 다르면 에러가 난다❗️

mysql> grant all privileges on DB01.* to testuser01@'192.168.0.%';
mysql> FLUSH PRIVILEGES;

mysql> SELECT User, Host FROM mysql.user;

아래와 같이 user를 조회했을 때 user와 host가 적용되면 완성 !

보안을 위해 모든 ip의 접속을 허용했던 root 계정은 삭제해버리자.

mysql> DROP USER 'root'@'%';

Ubuntu 방화벽 오픈

mysql을 종료하고(exit 명령어 입력) Ubuntu 터미널에 접속한다.

sudo apt update
sudo ufw allow 3306 	// 3306 포트 방화벽을 open 
sudo ufw enable 		// 방화벽 활성화
ip addr 				// ip 확인

그리고 Ubuntu의 ip를 확인하기 위해 ip addr 명령어를 입력한 후 ip를 메모장에 저장해두자.

잘 적용되었는지 확인하기 위해 다음의 명령어를 입력한다.

sudo ufw status

외부에서 Ubuntu에 접속하기

맥북에서 가상머신으로의 접근을 허용해야 한다.

맥북 Local 터미널에 접속한다.

sudo vi /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf

파일 열고
[incomingtcp] 부분을 찾는다.
이 밑에 아래와 같은 형식으로 작성한다.
위에서 메모했던 Ubuntu의 ip를 넣어주어야 한다.
[host port number] = [virtual machine IP address]:[virtual machine port number]

다음의 명령어로 다시 시작해준다.

sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --stop
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --start

🏹 WorkBench에서 MySQL 접속

아래의 화면과 같이 hostname에는 본인의 맥북 local ip 주소를, port는 3306을, username에는 생성한 사용자 명을, password에는 사용자 비밀번호를 입력한다.

나는 testuser01에게 DB01 데이터베이스에 대한 접근만 허용했기 때문에, 아래의 화면처럼 DB01 한개의 데이터베이스가 보이게 된다.

profile
thisIsZihooLog

0개의 댓글