ProxySQL kurulumu nasıl yapılır ?

1. Sistem Güncellemeleri ve ProxySQL Kurulumu

İlk olarak, sisteminizin güncel olduğundan emin olmanız gerekmektedir. Aşağıdaki komutları kullanarak sisteminizi güncelleyebilir ve ProxySQL’i kurabilirsiniz:

apt update
apt install -y lsb-release 
wget -O - 'https://repo.proxysql.com/ProxySQL/repo_pub_key' | sudo apt-key add - 
echo deb https://repo.proxysql.com/ProxySQL/proxysql-2.3.x/$(lsb_release -sc)/ ./ | tee /etc/apt/sources.list.d/proxysql.list

apt update

apt install proxysql mysql-client -y

systemctl enable --now proxysql

Bu adımlar, gerekli paketleri yükleyecek ve ProxySQL’i başlatacaktır.

2. ProxySQL Admin Şifresini Değiştirme

ProxySQL yönetici şifresini değiştirmek için aşağıdaki komutları kullanın:

mysql -u AdminUserName -pAdminPassWord -h 127.0.0.1 -P6032 --prompt='Admin> '

UPDATE global_variables SET variable_value='AdminUserName:AdminNewPassWord' WHERE variable_name='admin-admin_credentials';

LOAD ADMIN VARIABLES TO RUNTIME;

SAVE ADMIN VARIABLES TO DISK;

Şifrenizi güçlü ve güvenli bir şekilde belirlemeniz önemlidir.

3. MariaDB Kullanıcı Oluşturma

MariaDB sunucu üzerinde yeni bir kullanıcı oluşturmak için aşağıdaki SQL komutlarını kullanın:

CREATE USER 'monitor'@'%' IDENTIFIED BY 'MonitorPassWord';
FLUSH PRIVILEGES;

4. ProxySQL İzleme Parametreleri

ProxySQL üzerinde izleme parametrelerini yapılandırmak için:

UPDATE global_variables SET variable_value='monitor' WHERE variable_name='mysql-monitor_username';

UPDATE global_variables SET variable_value='MonitorPassWord' WHERE variable_name='mysql-monitor_password';

UPDATE global_variables SET variable_value='2000' WHERE variable_name IN ('mysql-monitor_connect_interval','mysql-monitor_ping_interval','mysql-monitor_read_only_interval');

LOAD MYSQL VARIABLES TO RUNTIME;

SAVE MYSQL VARIABLES TO DISK;

5. ProxySQL üzerine mariadb makinlerini tanımlama

Bu giriş, writer_hostgroup ve reader_hostgroup olmak üzere iki ana sütun içerir.
writer_hostgroup, yazma işlemlerini yürütmek için kullanılan host grubunu belirtirken, reader_hostgroup, okuma işlemlerini yürütmek için kullanılan host grubunu belirtir.
1 numaralı host grubu yazma işlemleri için kullanılırken, 2 numaralı host grubu okuma işlemleri için kullanılır.

SHOW CREATE TABLE main.mysql_replication_hostgroups\G
INSERT INTO main.mysql_replication_hostgroups (writer_hostgroup,reader_hostgroup,comment) VALUES (1,2,'galera_cluster');

INSERT INTO main.mysql_servers(hostgroup_id,hostname,port) VALUES (1,'10.10.10.10',3306);

INSERT INTO main.mysql_servers(hostgroup_id,hostname,port) VALUES (1,'10.10.10.20",3306);

INSERT INTO main.mysql_servers(hostgroup_id,hostname,port) VALUES (1,'10.10.10.30',3306);

LOAD MYSQL VARIABLES TO RUNTIME;

SAVE MYSQL VARIABLES TO DISK;

LOAD MYSQL SERVERS TO RUNTIME;


6. MariaDB Kullanıcısı Oluşturma

MariaDB’de ProxySQL kullanıcısını oluşturmak için:

CREATE USER 'proxysql'@'%' IDENTIFIED BY 'UserPassWord';

GRANT ALL PRIVILEGES ON *.* TO 'proxysql'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

8. ProxySQL Test İstemci Bağlantısı

Son olarak, ProxySQL bağlantınızı test etmek için:

mysql -uproxyUserName -h 127.0.0.1 -P6033 -pUserPassWord

SELECT hostgroup,srv_host,status FROM stats.stats_mysql_connection_pool;

Kaynak :
https://proxysql.com/documentation/proxysql-configuration/