Dev

우분투 서버에 MySQL 설치부터 MySQL Workbench에 연결하기까지

이기회 2023. 8. 7. 23:16
서버 인스턴스: Vultr
실행환경: Ubuntu 23.04 x64

 

💫 mysql-server 설치

sudo apt-get install mysql-server

 

 

💫 외부 접근 허용하기

1. 서버 방화벽 허용하기

sudo ufw allow mysql

해당 명령어로 mysql의 포트(3306)을 허용시킨다.

2. 인스턴스 방화벽 허용하기

서버 뿐만 아니라 인스턴스에도 방화벽이 있을 수 있는데 이것도 3306 포트를 열어두자.

3. 외부 IP 허용하기

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

마지막으로 해당 명령어로 vi편집기를 열어 bind-address를 주석처리하여 모든 IP를 허용시킨다.

 

💫 MySQL 실행하기

[참고] 기본 명령어

systemctl start mysql	# 시작
systemctl stop mysql	# 정지
systemctl restart mysql	# 재시작
systemctl status mysql	# 상태확인
systemctl enable mysql	# 서버가 시작될 때마다 MySQL 시작

MySQL 재구동 및 상태확인

우선 위에서 설정이 바뀌었으므로 systemctl restart mysql 명령어를 통해 서버를 다시 실행시킨다. 그리고 상태가 active인지 확인한다.

root계정으로 로그인

# 비밀번호(=시스템 비밀번호와 같음)가 있을때
sudo /usr/bin/mysql -u root -p
# 비밀번호가 없을때
sudo /usr/bin/mysql -u root

mysql> 이 뒤에 sql문을 작성하면 된다.

show databases;

이렇게 나왔다면 성공

 

💫 새 계정 만들기

계정 생성 SQL 쿼리

/* create user [계정이름]@[허용할 IP] identified by [비밀번호]; */
create user 'username'@'%' identified by 'password';
select user, host from mysql.user;

(cslee로 생성) 잘 생성이 된 것을 확인 할 수 있다..!

사용자 계정 모든 권한 허용하기

/* grant all privileges on [스키마이름].* to [계정이름]@[허용할 IP]; */
grant all privileges on *.* to 'username'@'%';
flush privileges;

 

현재는 해당 계정에 모든 권한과 모든 IP를 설정했는데 보안에 너무 취약하므로 추후에는 반드시 수정하자!

 

💫 MySQL Workbench에 연결

1. MySQL Workbench 설치하기

https://dev.mysql.com/downloads/workbench/

 

MySQL :: Download MySQL Workbench

Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Red Hat Enterprise Linux / Oracle Linux Fedora macOS Source Code Select OS Version: All Windows (x86, 64-bit) Recommended Download: Other Downloads: Windows (x86, 64-bit), M

dev.mysql.com

위 링크를 통해 직접 앱을 설치하자

2. MySQL 연결하기

MySQL Workbench를 실행하고 위 손가락이 가르키는 +버튼을 눌러 새 연결을 추가하자

Connection Name은 자유롭게 적어주고 Hostname은 MySQL이 설치된 서버의 IP주소나 도메인이름을 적어주면 된다. Port는 3306이라면 그대로 두고 아닐경우 수정하자.

위에서 외부 접속을 허용하고 모든 권한을 부여한 새 계정의 이름을 Username에 적어주고 Store in Keychain ...을 클릭하여 비밀번호를 입력한다. 그 후 OK를 누르고 생성된 커넥션을 접속하여 사용하면된다!

 

해피코딩