카테고리 없음

[Docker] Percona mysql on docker

Jackerson 2022. 5. 11. 08:34

* 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