[Docker] Percona mysql on docker
* Percona Client 다운로드
: https://www.percona.com/downloads/Percona-Server-5.7/LATEST/
Download Percona Server for MySQL 5.7
Version: -- Select Version -- Percona Server for MySQL 5.7.37-40 Percona Server for MySQL 5.7.36-39 Percona Server for MySQL 5.7.35-38 Percona Server for MySQL 5.7.34-37 Percona Server for MySQL 5.7.33-36 Percona Server for MySQL 5.7.32-35 Percona Server f
www.percona.com
Percona-Server-client-57-5.7.37-40.1.el7.x86_64.rpm |
Percona-Server-shared-57-5.7.37-40.1.el7.x86_64.rpm |
Percona-Server-shared-compat-57-5.7.37-40.1.el7.x86_64.rpm |
- scp 파일 전송
# scp -P [포트] [로컬파일명] [유저명]@[ip주소]:[받을경로]
> scp -P 22 Percona.rpm root@127.0.0.1:/tmp
* 기존에 설치된게 있다면 삭제 후 진행
> rpm -qa | grep mariadb-libs
> rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
* Percona 패키지 설치
> rpm -ivh [패키지명]
* host머신에서 docker 컨테이너 접속 테스트
> mysql -uroot -p -h127.0.0.1
* Host 머신에 DB 파일 생성하기
: 도커 재시작에도 데이터가 보존된다.
# data를 저장할 host 머신의 경로 생성
> mkdir -p /shared/mysql/data
> mkdir -p /shared/mysql/log
> mkdir -p /shared/mysql/conf
> chmod 777 -R /shared
# 도커 실행
# 볼륨 맵핑은 v옵션
> docker run -it --name db001 \
> -e MYSQL_ROOT_PASSWORD="P@ssw0rd" \
> -v /shared/mysql/data:/var/lib/mysql \
> -v /shared/mysql/log:/var/log/mysql \
> -v /shared/mysql/conf:/etc/percona-server.conf.d \
> -p 3306:3306 \
> -d percona:5.7.30
> docker run -it --name db001 -e MYSQL_ROOT_PASSWORD="P@ssw0rd" -v /shared/mysql/data:/var/lib/mysql -v /shared/mysql/log:/var/log/mysql -v /shared/mysql/conf:/etc/percona-server.conf.d -p 3306:3306 -d percona:5.7.30
* 로컬에 my.conf 생성
# 경로 이동
> cd /shared/mysql/conf
> vi my.cnf
[mysqld]
log_bin = mysql-bin
binlog_format = ROW
gtid_mode = ON
enforce-gtid-consistency = true
server-id = 100
log_slave_updates
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links = 0
log-error = /var/log/mysql/mysqld.log
pid-file = /var/run/mysqld/mysqld.pid
report_host = db001
[mysqld_safe]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/lib/mysql/mysql.sock
nice = 0
* 참고 링크
https://doheejin.github.io/linux/2021/03/03/linux-scp.html
[Linux] scp 명령어로 (로컬↔서버) 파일 전송
scp는 SecureCopy의 약자로, 원격서버에 있는 파일과 폴더를 전송하거나 가져오기 위해 사용하는 명령어이다.ssh 원격 접속 프로토콜을 기반으로 하며, ssh와 동일한 22번 포트를 이용하기 때문에 passw
doheejin.github.io