잠시만 기다려 주세요

     '입만 나불거리고 행동하지 않는 민주당을 규탄한다.'
전체검색 :  
이번주 로또 및 연금번호 발생!!   |  HOME   |  여기는?   |  바다물때표   |  알림 (25)  |  여러가지 팁 (1111)  |  추천 및 재미 (165)  |  자료실 (25)  |  
시사, 이슈, 칼럼, 평론, 비평 (948)  |  끄적거림 (144)  |  문예 창작 (719)  |  바람 따라 (75)  |  시나리오 (760)  |  드라마 대본 (248)  |  
살인!


    여러가지 팁

리눅스 서버 - mariadb + proxysql 3.0.x 설정.... mariadb 접속 안정화 proxysql pooler 사용하기...
이 름 : 바다아이   |   조회수 : 239         짧은 주소 : https://www.bada-ie.com/su/?yycUc0R5_0RS
proxysql 3.0.x 버전 기준입니다. 2.x 버전대는 다를 수 있습니다.

먼저 사양이 좋지 않은 단일 서버 환경이라면 proxysql 이 오히려 자원을 잡아먹는 범인이 될 수 있습니다. ^^;
접속자가 많고 로드벨런싱이나 read, write 분리를 원할 때 사용하는 겁니다. 참고하세요...
그러나 개인적 공부용으로 적용해 보시는 것은 나쁘지 않습니다.

원래 proxysql 을 쓰는 이유는 접속의 원활함도 있겠지만 기능을 분리하고 병렬 로드벨런싱 기능이 더 강합니다.
mariadb 같은 경우 이미 pooler 가 내부에 장착되어 있기 때문에 저사양 작은 작업에서는
차라리 proxysql 을 안 쓰는 것이 더 좋을 수 있습니다. 참고하세요...

mariadb 와 proxysql 설치는 되었다는 가정입니다.
이 부분을 알 정도면 mariadb 설치법 정도는 다 알고 있다는 가정을 하겠습니다.
proxysql 은 그냥 패키지 받아다 설치만 하시면 끝입니다. 간단하죠...

apt install ./받은파일
systemctl enable proxysql
systemctl start proxysql



https://proxysql.com/

파일은 위에 사이트 가셔서 받아 설치하시면 됩니다....

그냥 받아서 단순 설치하시고 localhost 상에서 접속하시면 따로 설정 파일 건들지 않으셔도 됩니다.
설정 파일은 /etc/proxysql.cnf 에 있습니다.
설정파일은 어렵지 않아서 보시면 바로 아실 수 있습니다.


일단 proxysql 관리콘솔에 접속하기

mysql -u admin -p -h 127.0.0.1 -P6032
# 기본 비밀번호: admin

관리자 콘솔에 접속하시면 일반 mariadb 콘솔과 똑같습니다.

먼저 관리자 비밀번호를 변경을 합니다. 아무나 접속하면 안되니까요..

UPDATE global_variables
SET variable_value='admin:관리자비밀번호'
WHERE variable_name='admin-admin_credentials';

LOAD ADMIN VARIABLES TO RUNTIME;
SAVE ADMIN VARIABLES TO DISK;



mariadb 서버와 유저를 등록해야 합니다.

-- 기존 값 확인
SELECT * FROM mysql_servers;

-- 기존 예시 삭제 (필요시)
DELETE FROM mysql_servers;

-- 새 서버 등록
INSERT INTO mysql_servers (hostgroup_id, hostname, port, max_connections) 
VALUES (1, '127.0.0.1', 3306, 100);

LOAD MYSQL SERVERS TO RUNTIME;
SAVE MYSQL SERVERS TO DISK;


참고 !! -- hostgroup_id --

1: primary group (기본 그룹)
2 이상: replica group 또는 다른 목적


mariadb 사용자를 proxysql 에 등록하도록 하겠습니다.

-- 사용자 확인
SELECT * FROM mysql_users;

-- 새 사용자 추가
INSERT INTO mysql_users (username, password, default_hostgroup, transaction_persistent)
VALUES ('appuser', 'app1234', 1, 1);

-- 적용
LOAD MYSQL USERS TO RUNTIME;
SAVE MYSQL USERS TO DISK;



사용자 등록시에 mariadb 의 실제 유저를 써 주시면 됩니다.. 관리자 mysql_users 에는 패스워드가 암호화는 되지 않습니다..
참고하세요... 암호화 하면 복잡해 집니다.. ^^; 


이제 ProxySQL이 백엔드 서버 상태를 자동으로 모니터링하도록 계정 생성을 하고 역시 등록하겠습니다.

MariaDB 쪽: (실제 mariadb 서버에 접속을 하세요..)

CREATE USER 'monitor'@'127.0.0.1' IDENTIFIED BY 'monitor123';
GRANT USAGE ON *.* TO 'monitor'@'127.0.0.1';


ProxySQL 쪽: (proxysql 관리자 콘솔로 다시 접속하세요...)

SET mysql-monitor_username='monitor';
SET mysql-monitor_password='monitor123';
LOAD MYSQL VARIABLES TO RUNTIME;
SAVE MYSQL VARIABLES TO DISK;



자 이제 제대로 작동하는지 확인해 봅시다..

SELECT * FROM stats_mysql_connection_pool;

아래처럼 나오면 잘 작동되는 것입니다. 숫자는 설정에 따라 다를 수 있습니다.

hostgroup_id | srv_host     | status | ConnUsed | ConnFree | ConnOK
1             | 127.0.0.1    | ONLINE | 0        | 10       | 1



이제 끝났습니다.. proxysql 을 재시작 합시다.

systemctl restart proxysql

기존 접속 소스에서 포트만 6033 으로 변경해서 접속을 하시면 제대로 접속이 되실 겁니다
그냥 중간에 proxysql 을 거쳐서 mariadb 로 가는 것입니다.
프로그램에서는 mariadb 접속 부분 포트만 변경하면 끝!!!

proxysql 을 통해 mariadb 로 잘 접속되는지 테스트

mysql -u appuser -p -h 127.0.0.1 -P6033

접속 잘 되면 된 겁니다. 어려울 것이 없습니다.
끝!!

간단한 쿼리 테스트

SELECT NOW();
SHOW DATABASES;


!! 참고 : proxysql 

관리 포트    6032
클라이언트 포트    6033


 
| |





      1 page / 38 page
번 호 카테고리 제 목 이름 조회수
1111 컴퓨터/핸드폰 freet .. ... .. 바다아이 91
1110 리눅스 데스크탑 debian stable + backports .... 바다아이 99
1109 리눅스 데스크탑 user@1000, xdg-document-portal ... .... 바다아이 143
1108 컴퓨터/핸드폰 ...  바다아이 130
1107 리눅스 데스크탑 xfce4 ... ... screensaver 바다아이 138
1106 리눅스 서버 ... . . . 바다아이 176
1105 리눅스 데스크탑 yay, pacman ...  lock .... ... 바다아이 193
1104 리눅스 서버 proxysql 3.0.x ....   .... 바다아이 260
현재글 리눅스 서버 mariadb + proxysql 3.0.x .... mariadb proxysql pooler ... 바다아이 240
1102 golang golang mariadb, mysql pooler proxysql ..!!! mariadb , .. 바다아이 248
1101 golang golnag ...  Go ... go get ... 바다아이 226
1100 golang golang postgresql + pgx + pgbouncer ... . pgbouncer , ... 바다아이 278
1099 리눅스 데스크탑 surfshark ..  archlinux surfshark error.... 바다아이 278
1098 음식관련 , ... 1 . .. ... -.-; 바다아이 366
1097 리눅스 데스크탑 .... 바다아이 472
1096 건강/운동 관련 ... ... ....!!! .. ..!!.. ... 바다아이 484
1095 golang golang ... 바다아이 831
1094 컴퓨터/핸드폰 0ad .... c ... 0ad occupy 바다아이 799
1093 리눅스 서버 apt ... ... apt 바다아이 929
1092 리눅스 데스크탑 6.14 ... experimental .. !! !!! .. 바다아이 922
1091 리눅스 데스크탑 testing, sid, backports surfshark vpn , ...  바다아이 980
1090 mariadb, mysql mariadb ... ??? maintained.... . 바다아이 864
1089 리눅스 데스크탑 libreoffice hwp ... libreoffice-h2orestart hwp ... 바다아이 1167
1088 javascript/jquery .... 바다아이 898
1087 리눅스 데스크탑 .... wine install 바다아이 907
1086 리눅스 데스크탑 surfshark vpn .... ..... 바다아이 945
1085 리눅스 서버 , smartctl, hdd ssd 바다아이 964
1084 리눅스 서버 , .... arch kernel compile.... 바다아이 976
1083 리눅스 서버 [Vim, Vi] 바다아이 889
1082 리눅스 서버 ... 바다아이 1099
| |









Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb + PgBouncer + ProxySQL]
서버위치 : 오라클 클라우드 춘천  실행시간 : 0.04366
to webmaster... gogo sea. gogo sea.