USE PROXYSQL for mysql-cluster

write proxysql conf
datadir="/var/lib/proxysql"

admin_variables=
{
    admin_credentials="admin:admin;radmin:radmin"
    mysql_ifaces="0.0.0.0:6032"
}

mysql_variables=
{
    threads=4
    max_connections=2048
    default_query_delay=0
    default_query_timeout=36000000
    have_compress=true
    poll_timeout=2000
    interfaces="0.0.0.0:6033"
    default_schema="information_schema"
    stacksize=1048576
    server_version="5.7"
    connect_timeout_server=3000
    monitor_username="monitor"
    monitor_password="monitor"
    monitor_history=600000
    monitor_connect_interval=60000
    monitor_ping_interval=10000
    monitor_read_only_interval=1500
    monitor_read_only_timeout=500
    ping_interval_server_msec=120000
    ping_timeout_server=500
    commands_stats=true
    sessions_sort=true
    connect_retries_on_failure=10
}
启动proxysql 容器
docker run -p 6032:6032 -p 6033:6033 -p 6070:6070 -d -v ./proxysql.cnf:/etc/proxysql.cnf --network mysql_network proxysql/proxysql:2.1.0
connect to proxysql
mysql -hinspiring_matsumoto -P6032 -uradmin -pradmin --prompt "ProxySQL Admin>"
set confsql
INSERT INTO mysql_servers (hostgroup_id, hostname, port) VALUES (0, 'mysql-master', 3306);
INSERT INTO mysql_servers (hostgroup_id, hostname, port) VALUES (1, 'mysql-slave', 3306);
LOAD MYSQL SERVERS TO RUNTIME;
SAVE MYSQL SERVERS TO DISK;


INSERT INTO mysql_query_rules (rule_id, active, match_digest, destination_hostgroup, apply) VALUES (1, 1, '^SELECT', 1, 1);
INSERT INTO mysql_query_rules (rule_id, active, match_digest, destination_hostgroup, apply) VALUES (2, 1, '^INSERT', 0, 1);
INSERT INTO mysql_query_rules (rule_id, active, match_digest, destination_hostgroup, apply) VALUES (3, 1, '^UPDATE', 0, 1);
INSERT INTO mysql_query_rules (rule_id, active, match_digest, destination_hostgroup, apply) VALUES (4, 1, '^DELETE', 0, 1);
LOAD MYSQL QUERY RULES TO RUNTIME;
SAVE MYSQL QUERY RULES TO DISK;



INSERT INTO mysql_users (username, password, default_hostgroup, max_connections) VALUES ('root', '12345678', 0, 1000);
LOAD MYSQL USERS TO RUNTIME;
SAVE MYSQL USERS TO DISK;

results matching ""

    No results matching ""