inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 MySQL on Docker

ProxySQL 구성 및 Failover 테스트

proxysql 의 프로시져 select , update 분기

425

개발_HRD

작성한 질문수 1

0

안녕하세요?

강의 감사하게 잘 듣고 있습니다.

proxysql 의 프로시져 select , update 분기는 어떻게 설정해야하는지 궁금합니다.

일반적인 query 도 사용하지만 프로시져를 호출하는 경우도 많아서 궁금하네요.

 

 

docker mysql

답변 1

0

김영헌

안녕하세요.

ProxySQL에서 procedure의 분기에 대해서 문의 주셨는데요.

제가 간단하게 아래와 같이 테스트를 해봤습니다.

--테스트용 프로시저 생성 및 권한 부여

# docker exec -it -uroot db001 /bin/bash

mysql> use testdb;

 

create procedure sp_select()

begin

select @@hostname,now();

end

appuser에 procedure 실행 권한 부여

GRANT EXECUTE ON testdb.* TO appuser@'%';

 

외부에서 proxysql을 통해서 프로시저 호출

(Query rule 등록 전으로 db001로만 접속)

mysql -uappuser -papppass -h172.31.10.19 -P16033 -N -e "call testdb.sp_select"

proxysql접속 후 프로시저 호출에 대한 digest 값 확인

# mysql -h127.0.0.1 -P16032 -uradmin -pradmin --prompt "ProxySQL Admin>"

프로시저에 대한 digest 값 확인

SELECT digest,SUBSTR(digest_text,0,25),count_star,sum_time FROM stats_mysql_query_digest;

+--------------------+--------------------------+------------+----------+

| digest | SUBSTR(digest_text,0,25) | count_star | sum_time |

+--------------------+--------------------------+------------+----------+

| 0x30EBC689D70068BC | call testdb.sp_select | 30 | 11694 |

+--------------------+--------------------------+------------+----------+

 

digest 값을 이용해서 query rule 등록

ProxySQL Admin>INSERT INTO mysql_query_rules (rule_id,active,digest,destination_hostgroup)

VALUES(3,1,'0x30EBC689D70068BC',20);

ProxySQL Admin>LOAD MYSQL QUERY RULES TO RUNTIME;

ProxySQL Admin>SAVE MYSQL QUERY RULES TO DISK;

proxysql을 통해서 프로시저 호출

(Query rule 등록 후 db001~003 접속)

mysql -uappuser -papppass -h172.31.10.19 -P16033 -N -e "call testdb.sp_select"

위와 같이 digest 값으로 query rule을 등록해서 프로시저에 대한 처리를 할 수 있을 거 같습니다.

더 다양한 Query rule 등록 방식은 아래 URL을 참고하시기 바랍니다.

https://proxysql.com/documentation/proxysql-read-write-split-howto/

감사합니다.

 

 

pdf 압축파일 제공

0

58

1

auto failover 에서 db001 재실행시 db001 read_only 설정하기전 db001, db002 양쪽으로 저장되는 현상

0

204

1

그라파나에서 에러가 발생합니다

0

439

1

CentOS EOS에 따라 기존의 레포지토리 내 패키지들이 삭제되어에러 발생!

0

384

1

프로덕션 환경에서 데이터 베이스 구성에 대하여.

0

270

1

Proxy SQL에 대한 질문입니다.

0

264

1

docker-compose 후 shell 정상작동 후 mysql dashboard 정상작동안함 ㅁ누의

0

190

1

docker-compose build시 db002~db003 not working daemon 현상

0

266

1

testdb.insert_test 테이블 존재 하지 않음에 관한 문의

0

290

2

물리 서버 2대로 Master/Slave 구조가 가능한가요?

0

329

1

failover 진행중 둘다 slave로 설정

0

300

1

app_test_conn.sh

0

310

3

docker orchestrator 설치후 웹접속

0

268

1

docker에서 percona 컨테이너 생성시

0

308

2

app_test_insert.sh 쉘 스크립트 실행 오류

0

249

1

프로메테우스 사용 이유

0

385

1

Slave 서버에서 Master 서버와 연결하는 명령어 입력하면 에러 발생 질문

0

642

2

강의 따라하다가 컴퓨터 재부팅했더니

0

514

1

docker run ... -h -h옵션이 무엇인가요

0

441

1

gluster 설치관련 질문입니다

0

763

2

도와주세요!!!

0

900

2

[Dockerfile] RUN yum install

0

2102

4

HA Fail-over 질문드립니다.

0

914

1

CRUD와 Replication 질문 드립니다.

0

833

1