MySQL Server DB 이전하기

sang yun Lee·2023년 11월 16일
0

Devops 실습

목록 보기
20/20

온프레미스 MySQL 서버의 DB 를 다른 서버로 옮길 일이 생겼다. MySQL 서버를 내 노트북에 설치해뒀는데 이제는 서버용으로 쓰지 않으려 하기 때문이다. 그래서 이왕 옮기는 거 새로운 서버에는K8S 의 파드로 만들어서 옮기기로 하였다. 파드로 만들어두면 해당 MySQL 서버 를 이용하고 있는 다른 파드들와 보다 쉽게 구성이 가능하기도 하고 명시적으로 yaml 선언되니 관리가 용이하기 때문이다.

참고로 나는 일단 나 혼자 서버를 사용하고 있어서 실시간 백업은 고려하지 않았다.

일단 파드를 생성하는 방법은 재쳐두고 우선 백업하는 방법에 대해서 공유하고자 한다.

시작...!

STEP 1: MySQL 백업본 만들기

아래처럼 진행해서 백업본(backup.sql) 을 얻는다.

# mysqldump DB이름 -u 유저이름 -P 포트넘버 --protocol=tcp -h 기존서버주소  -p
$ mysqldump mydb -u root -P 30306 --protocol=tcp -h localhost  -p > backup.sql

# 혹은 해당 서버의 전체 DB 를 복사하고자 한다면 아래처럼 한다.
$ mysqldump --all-databases -u root -P 30306 --protocol=tcp -h localhost  -p > backup.sql

STEP 2: MySQL 복원하기

만들어둔 SQL 서버의 주소와 포트를 입력하여 복원한다.

# mysql -u 유저이름 -P 포트넘버 --protocol=tcp DB이름 -h 기존서버주소  -p < backup.sql
$ mysql -u root -P 30306 --protocol=tcp mydb -h localhost -p < backup.sql

번외

1. 유저와 호스트별 권한 보기

# 페이지에 잘 보이게 하기
mysql> pager less -SFX;
# 유저와 호스트별 권한 보기
mysql> select * from mysql.user;
+-----------+------------------+-------------+-------------+-------------+-------->
| Host      | User             | Select_priv | Insert_priv | Update_priv | Delete_>
+-----------+------------------+-------------+-------------+-------------+-------->
| %         | root             | Y           | Y           | Y           | Y      >
| localhost | mysql.infoschema | Y           | N           | N           | N      >
| localhost | mysql.session    | N           | N           | N           | N      >
| localhost | mysql.sys        | N           | N           | N           | N      >
| localhost | root             | Y           | Y           | Y           | Y      >
+-----------+------------------+-------------+-------------+-------------+-------
# 유저와 호스트별 권한 보기 (세로로 보기)
mysql> select * from mysql.user\G;

참조자료

2. SQL 서버를 파드로 만들기 예시

나는 SQL 서버를 파드로 만들고 깃허브에 올렸다.
statefulset 으로 만들지는 않았다. TODO 로 해야된다.
관련 커밋 링크: https://github.com/SangYunLeee/argocd-enttolog/commit/1220f48568407a8e97ca9e35930039bcfcdca8e6

0개의 댓글