1. 인스턴스를 Ubuntu 20.04 로 하나 생성
2. 개인 IP주소를 하나 예약함
3. 가상 클라우드 네트워크 에서 3306포트를 완전 개방함
3. Ubuntu 시간을 대한민국 시간으로 설정(다음을 실행해서 Asia, Seoul 을 차례로 선택)
sudo dpkg-reconfigure tzdata
4. apt 관리자 업데이트
sudo apt update
sudo apt upgrade
5. MariaDB 설치하기
sudo apt install mariadb-server mariadb-client -y
6. 설치가 잘 되었나 확인하고, 실행 및 부팅시 자동실행 설정
sudo systemctl start mariadb
sudo systemctl enable mariadb
7. MariaDB 기본설정
sudo mysql_secure_installation
- 현재루트비번은? 없으므로 그냥 엔터
- 유닉스소켓쓸레? Y
- 루트비번 바꿀래? Y
- 루트비번 바꿀래? Y
- 비밀번호 2회 입력하고
- 익명사용자 지울래? Y
- 원격 root 접속막을래? Y
- 테스트 db지울래? Y
- 위사항으로 DB업데이트할래? Y
8. 우분투 mysql은 기본적으로 127.0.0.1에서만 접속되게 되어있다. 원격지에서 접속가능하도록 하고 root 접속이 안되므로 mysql콘솔로 들어가 root 처럼관리할 아이디를 만든다
sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf 를 편집한다.
bind-address = 127.0.0.1
위에줄을 찾아서 아래처럼 주석처리한다.
# bind-address = 127.0.0.1
// mssql콘솔로들어간다
mysql -u root -p
// 사용자 아이디/비번을 설정
create user '아이디'@'%' identified by '비밀번호-';
// 해당사용자가 전체권한을 가지게 한다.
grant all privileges on *.* to '아이디'@'%';
// DB 리로딩
flush PRIVILEGES;
// mysql콘솔 종료
exit
9. 새 DB 사용자 추가는 mysql콘솔에서 mysql DB를 선택후 DB사용자 추가한다.
mysql -u root -p
use mysql
// 아이디-비밀번호를 변경해서 입력하자.
insert into user (Host, User, Password, ssl_cipher, x509_issuer, x509_subject, authentication_string) values('%','아이디',password('비밀번호'),'','','','');
10. 방화벽 설정
// 프로그램에서 localhost 통신 허용
sudo iptables -A INPUT -i lo -j ACCEPT
// ssh, http, https, mariadb 포트 허용
sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT 1 -p tcp --dport 443 -j ACCEPT
sudo iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT
// iptable 설정 저장
sudo netfilter-persistent save
//추후 서버를 리부팅할 경우 iptable 설정값을 다음 명령어를 통해 가져올수있다.
sudo netfilter-persistent reload
11. MYSQL 백업및 복원
// 백업하기
mysqldump -u DB사용자 -p DB이름 > 백업할파일이름
// 복원하기
mysql -u DB사용자 -p DB이름 < 백업된파일이름
12. mysql 관리를 위한 phpmyadmin 설치
sudo apt install phpmyadmin