잠시만 기다려 주세요

     '싸우지 않는 이재명을 규탄한다. 민생충, 협치충, 역풍충, 검토질.. 국민들은 치가 떨린다.'
전체검색 :  
이번주 로또 및 연금번호 발생!!   |  HOME   |  여기는?   |  바다물때표   |  알림 (24)  |  여러가지 팁 (1106)  |  추천 및 재미 (165)  |  자료실 (25)  |  
시사, 이슈, 칼럼, 평론, 비평 (921)  |  끄적거림 (142)  |  문예 창작 (719)  |  바람 따라 (75)  |  시나리오 (760)  |  드라마 대본 (248)  |  
살인!


    리눅스 서버

리눅스 서버 - mariadb + proxysql 3.0.x 설정.... mariadb 접속 안정화 proxysql pooler 사용하기...
이 름 : 바다아이   |   조회수 : 142         짧은 주소 : 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 / 6 page
번 호 카테고리 제 목 이름 조회수
158 리눅스 서버 ... . . . 바다아이 75
157 리눅스 서버 proxysql 3.0.x ....   .... 바다아이 154
현재글 리눅스 서버 mariadb + proxysql 3.0.x .... mariadb proxysql pooler ... 바다아이 143
155 리눅스 서버 apt ... ... apt 바다아이 799
154 리눅스 서버 , smartctl, hdd ssd 바다아이 852
153 리눅스 서버 , .... arch kernel compile.... 바다아이 866
152 리눅스 서버 [Vim, Vi] 바다아이 790
151 리눅스 서버 ... 바다아이 973
150 리눅스 서버 vps root .. 바다아이 760
149 리눅스 서버 Ubuntu 24.04 LTS - SSH Port , ssh 바다아이 881
148 리눅스 서버 samba ... , ... 바다아이 1874
147 리눅스 서버 postfix main.cf ... 바다아이 5861
146 리눅스 서버 /etc/crontab ... 바다아이 4041
145 리눅스 서버 - MEMTEST, , 바다아이 5820
144 리눅스 서버 top , top 바다아이 6305
143 리눅스 서버 , systemd-networkd, archlinux network setting 바다아이 7673
142 리눅스 서버 mirror .. ... 바다아이 8000
141 리눅스 서버 [Ubuntu] (swapfile) , ... 바다아이 8178
140 리눅스 서버 ufw , iptables 바다아이 8866
139 리눅스 서버 ... grub . submenu, grub-mkconfig, grub 바다아이 7256
138 리눅스 서버 CentOS 7 Upgrade Kernel, centos 바다아이 9951
137 리눅스 서버 , dd , 바다아이 7757
136 리눅스 서버 ... ntp .. ... 바다아이 8573
135 리눅스 서버 archlinux netstat , netstat ... 바다아이 8016
134 리눅스 서버 ps , ps option 바다아이 8074
133 리눅스 서버 , swap , ... swap . 바다아이 8113
132 리눅스 서버 crontab , .... 바다아이 8175
131 리눅스 서버 ssh , ssh 바다아이 9437
130 리눅스 서버 SSH SSH , ssh-keygen rsa 바다아이 9056
129 리눅스 서버 , date : () , () , 바다아이 9182
| |









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