흐흐흐... 드디어 마지막이다
다 조져주지...
MySQL만 설치하면 서버의 기초라고 할 법한 것들은 전부 세팅 완료다!!!
홈서버 사양
제품명 : Beelink S12 Pro
OS : window 10 pro & Ubuntu 22.04
CPU : Intel(R) N100
RAM : 16GB (3200 MHz)
SSD : 512GB (NVMe)
HDD : 500GB (Hitachi)
1) MySQL 설치하기
먼저 MySQL 컨테이너부터 띄워보자.
이제는 익숙할(?!) Docker-Compose에 추가한다
mysql:
image: mysql:8.0.34 # mysql 버전은 8.0.34
container_name: mysql-container # MySQL의 컨테이너 명은 mysql-container
environment:
MYSQL_ROOT_PASSWORD: 비밀번호는각자작성
MYSQL_DATABASE: DB명
MYSQL_USER: 유저이름
MYSQL_PASSWORD: 비밀번호는각자작성
ports:
- "3306:3306" # 3306 포트를 사용하겠다!
volumes:
- mysql_data:/var/lib/mysql # DB 매번 날아가면 슬프니까 볼륨 연결
command:
--character-set-server=utf8mb4 # MySQL 서버의 기본 문자 집합을 utf8mb4로 설정
networks:
- jenkins_network
2) MySQL 실행 후 export sql 파일 입력
이제 컨테이너 실행하고, 따로 만들어둔 export 파일을 컨테이너 내부로 복사한다
(따로 만들어둔 export 파일이 없다면 그냥 이제부턴 테이블 만들고 데이터 입력하면 된다 (아래 내용 무시))
docker cp /path/to/export.sql mysql-container:/tmp/export.sql
파일이 있다면 컨테이너 내부로 복사해두었으니 이제 아래 순서대로 진행하면 된다
(1) 계정에 권한을 부여
(2) 실행해서 테이블 생성 및 삽입
이후엔 테이블이 잘 삽입되었음을 볼 수 있다
# 현재 선택된 DB 확인
mysql> SELECT DATABASE();
+--------------+
| DATABASE() |
+--------------+
| nakji_lab_db |
+--------------+
1 row in set (0.00 sec)
# 해당 DB의 Table들 조회
mysql> SHOW TABLES;
+------------------------+
| Tables_in_nakji_lab_db |
+------------------------+
| what_test_temp |
+------------------------+
1 row in set (0.00 sec)
# 테이블 내부 구성 확인
mysql> DESCRIBE what_test_temp;
+--------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------------+------+-----+---------+----------------+
| index | int | NO | PRI | NULL | auto_increment |
| title | varchar(255) | NO | | NULL | |
| dd | decimal(10,2) | NO | | NULL | |
| date | date | NO | | NULL | |
| addr | text | NO | | NULL | |
| hash | varchar(64) | NO | | NULL | |
+--------+---------------+------+-----+---------+----------------+
6 rows in set (0.01 sec)
# 내부 데이터 갯수 확인
mysql> select count(*) from what_test_temp;
+----------+
| count(*) |
+----------+
| 592710 |
+----------+
1 row in set (0.02 sec)
3) DBeaver와 서버의 MySQL 연결하기
원래 친구 추천으로 HeidSQL 썼는데 Mac OS에는 없다…
찾아보니 귀여운 D-비버가 있다길래 냅다 설치
(윈도우, 맥, 리눅스 전부 지원하는 갓툴;;)
연결할 수 있는 DB 종류도 겁나 많다!
그럼 일단 연결해보실까!
사실 별 것 없는게 그냥 새로운 커넥션 누르고 서버 URL 입력하고 연결하면 된다...
근데? DBeaver 연결 안 되는 이슈
아래와 같은 이슈 발생
Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
URL도 유효하고 ID/PW도 확실한데 이유가 뭔지 모르겠음
근데 생각해보니 내 로컬에서 돌리는게 아니니 localhost가 아니고, 서버 ip 적어줘야했다
특히 지금은 집이라 내부망 내에 있으니 내부망 주소를 적어줘야만 한다 (이 부분을 간과하였음)
하여 아래 기입해야 하는 부분을 각각 정확한 정보로 기입하는게 중요하다
연결 성공
주의할 점
주의해야할 점이 MySQL에서 패스워드 입력할 땐 -p 옵션을 쓰게되는데 -p랑 딱 붙여서 써야한다 (신기..)
아마 splice를 할 때 -p 기준으로 바로 뒤부터 하는듯..?
'Linux' 카테고리의 다른 글
Ubuntu 터미널 색상 싹 날아갔을 때 복구하는 방법 (0) | 2024.11.26 |
---|---|
Ubuntu 기본 언어 변경 방법 (feat. 영어 vs 한글) (1) | 2024.11.26 |
홈서버 만들기 (4) - CI/CD 구축 (feat. Jenkins) (0) | 2024.11.25 |
홈서버 만들기 (3) - CI/CD 구축 (feat. Docker) (0) | 2024.11.25 |
홈서버 만들기 (2) - 서버 설정 (feat. 포트포워딩 & DDNS) (0) | 2024.11.25 |