* MySQL 설치 방법
1. MySQL 설치
sudo apt update
sudo apt install mysql-server
2. MySQL 포트 설정 (mysql 기본 포트는 3306임)
sudo ufw allow mysql
3. MySQL 실행
- MySQL 실행
sudo systemctl start mysql
- 서버 재시작시 MySQL 자동 재시작 설정 방법 (권장사항)
sudo systemctl enable mysql
4. root(관리자) 계정 비밀번호 재설정
- mysql 접속
sudo mysql -u root
- root 계정 비밀번호 설정
ALTER USER 'root'@'localhost' IDENTIFIED BY '비밀번호';
- 변경된 비밀번호 적용하기
FLUSH PRIVILEGES;
5. 특정 계정 생성 및 접속 권한 변경
- user 테이블 업데이트 하기 위해 database 사용하기
use mysql;
- 생성하기 전 현재 계정들 확인
SELECT Host,User,plugin,authentication_string FROM mysql.user;
- 계정 생성하기
CREATE USER '생성할계정이름'@'%' identified by '비밀번호';
- 권한 할당
GRANT ALL PRIVILEGES ON *.* to '생성된계정이름'@'%';
- 적용하기
FLUSH PRIVILEGES;
- 생성 후 계정들 확인
SELECT Host,User,plugin,authentication_string FROM mysql.user;
- mysql 빠져나오기
exit
출처: https://jongsky.tistory.com/79 [시간의 농도:티스토리]
6. 외부 접속 허용 (외부에서 접속하기 위해서는 config 파일을 수정해주고 MySQL을 재시작해야 합니다.)
* vi 편집방법
- mysqld.cnf 내용 수정
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
- 최초 127.0.0.1에서 모든 접속을 허용하는 0.0.0.0으로 수정
# bind-address = 127.0.0.1
bind-address = 0.0.0.0
- MySQL 재실행
sudo systemctl restart mysql
출처: https://jongsky.tistory.com/79 [시간의 농도:티스토리]
2.1. 열려 있는 모든 포트 조회
$ netstat -nap
2.2. Listen 중인 포트 조회
$ netstat -nap | grep LISTEN
2.3. 개방하려는 포트번호 상태 조회
$ netstat -nap | grep <포트번호>
만약 mysql 의 default port 인 3306 포트를 조회한다면 아래와 같다.
$ netstat -nap | grep 3306
2.4. 포트의 외부접근 허용
$ iptables -I INPUT 1 -p tcp --dport <포트번호> -j ACCEPT
-I: 새로운 규칙을 추가한다.
-p: 패킷의 프로토콜을 명시한다.
-j: 규칙에 해당되는 패킷을 어떻게 처리할지를 정한다.
2.5. 내부에서 외부로 나갈 수 있는 포트 개방
만약 mysql 의 default port 인 3306 포트로 개방한다면 아래와 같다.
$ iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT
2.5. 포트의 내부에서 외부로 내보내기 허용
$ iptables -I OUTPUT 1 -p tcp --dport 9002 -j ACCEPT
$ iptables -I OUTPUT 1 -p udp --dport 9002 -j ACCEPT
출처: https://server-engineer.tistory.com/840 [임대리 개발일지:티스토리]
'CS > Linux' 카테고리의 다른 글
24.9.5. 개발일지 // virtual box에 배포하기 , nat, bridge, ufw방화벽, nginx (0) | 2024.09.05 |
---|---|
[Linux] pw 없이 접속하기, ssh-keygen, 배포하기 (0) | 2024.09.05 |
[Linux] 배포관련 아키텍쳐 best practice? (0) | 2024.09.04 |
[Linux] 원격 db 연결안됨 해결 //리눅스 포트 방화벽설정방법 (0) | 2024.08.27 |
[Linux] DB 설치 && 개발환경 문제, 개발워크플로우 (0) | 2024.08.26 |