기본적인 흐름
1. os 버전, mysql 버전에 맞는 파일 찾아서 설치
2. 방화벽 해제 필요
3. 인스턴스에서, 인바운드 아웃바운드 규칙 포트허용을 해야함 ( 어느 클라우드나 마찬가지로 해야함 )
외부접속 허용되면 됨
🔹 MySQL 설치
각 단계의 코드를 순서대로 입력합니다.
1. 루트 권한 얻기
sudo -s
2. MySQL 설치
wget http://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm
sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
sudo yum install mysql-server
아래 이미지처럼 나오면 성공입니다.
3. MySQL 실행 및 상태 확인
systemctl start mysqld
systemctl status mysqld
active 상태를 확인할 수 있습니다.
4. 임시 비밀번호 확인
grep 'temporary password' /var/log/mysqld.log
임시 비밀번호가 출력됩니다.
5. MySQL 보안설정
/usr/bin/mysql_secure_installation
순차적으로 보안 관련 설정을 진행합니다.
- Enter current password for root (enter for none): 위 임시 비밀번호를 입력합니다.
- Set root password? [Y/n]: root 비밀번호 설정 여부를 묻습니다. Y합니다.
- New password: 설정할 비밀번호 입력합니다.
- Re-enter new password: 다시 입력합니다.
- Remove anonymous users? [Y/n]: 익명 사용자 로그인 차단 여부입니다. Y합니다.
- Disallow root login remotely? [Y/n]: root 사용자 원격 접속 차단 여부입니다. Y합니다.
- Remove test database and access to it? : Test DB를 삭제합니다. Y합니다.
6. 방화벽 설정
firewall-cmd --zone=public --permanent --add-service=mysql
systemctl restart firewalld.service
7. MySQL 접속
mysql -uroot -p
8. Table 및 사용자 생성
root 사용자를 외부 원격 접속으로 사용하는 것은 보안에 좋지 않습니다. 해킹 시 DB 전체를 잃을 수 있기 때문입니다.
따라서 적절한 권한 별 사용자(user)를 생성하고, 사용자를 통해 원격 접속해서 사용해야 합니다.
-- testdb 생성
CREATE DATABASE testdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- test 계성 생성
CREATE USER 'tester99'@'%' IDENTIFIED BY 'myTestUser486!';
-- testdb에 대한 권한 부여
GRANT ALL PRIVILEGES ON testdb.* TO 'tester99'@'%' WITH GRANT OPTION;
flush privileges;
🔹 VM인스턴스에서 MySQL Port 허용
1. 인스턴스 - VNIC 접속 - 서브넷 링크 클릭 (아래 이미지 참고)
2. 보안 목록 - 이름 클릭 (아래 이미지 참고)
3. 수신 규칙 추가 클릭
4. 소스 CIDR과 Port 범위를 입력합니다.
MySQL 설치 과정에서 변경하지 않았다면 3306 port를 사용합니다.
입력 후 아래 수신 규칙 추가를 눌러 완료합니다.
🔹 외부에서 Workbanch로 DB 접속
Workbanch 8.0으로 진행했습니다.
1. Workbanch 시작 화면에서 + 버튼을 눌러 DB 정보를 추가합니다.
2. VM 인스턴스 IP, 위에서 허용한 Port, 생성한 사용자 name, password를 각각 입력합니다.
아래 Test Connection을 클릭해서 연결이 성공하면 정상입니다.
성공을 확인 후 OK를 클릭하여 DB정보를 등록합니다.
* DB 연결 성공 화면
🔹 Mysql 재시작 / 종료
# 재시작
systemctl restart mysqld
# 정지
systemctl stop mysqld
'SERVER > 클라우드' 카테고리의 다른 글
오라클 공용ip 고정ip 생성방법 (0) | 2024.01.23 |
---|---|
[오라클 클라우드] 셋팅 과정 (0) | 2024.01.22 |
댓글