Search

Linux MySQL 5.7 설치하기

개요

Linux ubuntu 18.04에서 MySQL 5.7버전을 설치해 보겠습니다.

MySQL 설치

apt-get을 업데이트한 후 MySQL을 설치합니다.
sudo apt-get update sudo apt-get install mysql-server
Bash
부팅 시 MySQL이 시작되도록 설정합니다.
sudo systemctl enable mysql
Bash
기본 보안 세팅합니다.
sudo mysql_secure_installation
Bash
1.
VALIDATE PASSWORD plugin? : 테스트 환경이라 활성화 하지 않았습니다.
2.
New password: : 초기 비밀번호를 설정해줍니다.
3.
Remove anonymous users? : 익명의 사용자를 삭제합니다.
4.
Disallow root login remotely? : 외부에서 root 계정으로 접속하지 못하게 합니다.
5.
Remove test database and access to it? : test DB를 삭제합니다.
6.
Reload privilege tables now? : privilege tables 을 reload 해줍니다.

외부접속 설정

네트워크 상태 확인합니다.
netstat -tnl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
Bash
127.0.0.1:3306으로 설정되어 있습니다. 외부에서 접속할 수 있도록 로컬 어드레스를 수정합니다.
vi /etc/mysql/mysql.conf.d/mysqld.cnf ... bind-address = 0.0.0.0
Bash
MySQL을 재시작합니다.
service mysql restart
Bash
다시 네트워크 상태를 확인합니다.
netstat -tnl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
Bash
0.0.0.0:3306으로 변경이 완료 되었습니다.

외부 접속 계정 설정

MySQL root 계정으로 접속해서 외부에서 접속할 계정 생성 및 데이터베이스에 권한을 할당합니다. *.* 부분을 데이터베이스·테이블로 입력 시 해당 데이터베이스만 접속할 수 있도록 설정할 수 있습니다.
mysql -u root -p mysql> GRANT ALL privileges on *.* to '계정'@'%' identified by '암호'; mysql> Flush privileges; mysql> SELECT host,user FROM mysql.user; +-----------+------------------+ | host | user | +-----------+------------------+ | % | user | | localhost | debian-sys-maint | | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+------------------+ 5 rows in set (0.00 sec)
SQL

방화벽 설정

ufw 사용하여 외부에서 접속을 할 수 있도록 설정 합니다.
sudo ufw enable sudo ufw allow 3306/tcp sudo ufw status Status: active To Action From -- ------ ---- 3306/tcp ALLOW Anywhere 3306/tcp (v6) ALLOW Anywhere (v6)
Bash
yougetsignal에서 포트가 정상적으로 열렸는지 확인합니다.

참고