點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了!!!
適用場景
現在我們介紹一款基于ProxySQL中間件實現業務數據讀寫分離的方案,是一個可以實現MySQL讀寫分離的輕量級工具,是一款開源的中間件的產品,是一個靈活的 MySQL 代理層,可以實現數據的讀寫分離。
ProxySQL簡介
ProxySQL是由C++語言開發,可以實現MySQL數據讀寫分離的輕量級工具,一款MySQL數據庫的開源中間件產品,輕量級但性能優異(支持處理千億級數據),具有如下功能:
不支持分表,可以分庫,但是利用規則配置實現分表。
技術架構
MySQL、Keepalived安裝
ProxySql安裝詳細步驟
#yum install openssl openssl-devel kernel-devel gcc gcc-c++ -y
#yum install perl-DBI -y
#yum install perl-DBD-MySQL -y
#yum install perl-Time-HiRes -y
#yum install perl-IO-Socket-SSL -y
#yum install -y proxysql-1.4.8-1-centos7.x86_64.rpm
#mkdir -p /var/lib/proxysql
#chown -Rf mysql.mysql /usr/share/proxysql/
#chown -Rf mysql.mysql /var/lib/proxysql
#chown mysql.mysql /etc/proxysql.cnf
#systemctl start proxysql.service
mysql -uadmin -padmin -h127.0.0.1 -P6032
mysql>insert into mysql_servers(hostgroup_id,hostname,port,weight,comment) values(1, 192.168.100.1,3306,1,Write Group);
mysql>insert into mysql_servers(hostgroup_id,hostname,port,weight,comment) values(2, 192.168.100.2,3306,1,Read Group);
mysql>insert into mysql_servers(hostgroup_id,hostname,port,weight,comment) values(2, 192.168.100.3,3306,1,Read Group);
mysql>insert into mysql_servers(hostgroup_id,hostname,port,weight,comment) values(2, 192.168.100.4,3306,1,Read Group);
GRANT ALL ON *.* TO shsnc@192.168.% IDENTIFIED BY 1qaz!QAZ;
mysql>insert into
mysql_users(username,password,default_hostgroup,transaction_persistent)values(shsnc,1qaz!QAZ,1,1);
mysql>GRANT SELECT ON *.* TO monitor@192.168.%
IDENTIFIED BY MonitoR;
mysql>set mysql-monitor_username=monitor;
mysql>set mysql-monitor_password=MonitoR;
mysql>insert into
mysql_query_rules(rule_id,active,match_digest,destination_ho
stgroup,apply)values(1,1,^SELECT.*FOR UPDATE$,1,1);
mysql>insert into
mysql_query_rules(rule_id,active,match_digest,destination_ho
stgroup,apply)values(2,1,^SELECT,2,1);
mysql>load mysql users to runtime;
mysql>load mysql servers to runtime;
mysql>load mysql query rules to runtime;
mysql>load mysql variables to runtime;
mysql>load admin variables to runtime;
mysql>save mysql users to disk;
mysql>save mysql servers to disk;
mysql>save mysql query rules to disk;
mysql>save mysql variables to disk;
mysql>save admin variables to disk;
mysql>select * from stats_mysql_query_digest;
mysql>select * from stats_mysql_processlist ;
mysql>select * from runtime_mysql_servers;
$less /var/lib/proxysql/proxysql.log
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129148.html
摘要:讀寫分離中間件具有獨立的。變量語句將被廣播考慮到節點間數據一致性問題,只會分發到主節點。節點健康檢查,提升數據庫系統可用性。UCloud MySQL云數據庫讀寫分離 背景 數據顯示,關系型數據庫在OLTP業務下96.87%都在等待讀I/O,而處理器計算僅僅占了5.3%,這說明要提高數據庫的QPS性能,關鍵的一點是提高系統的IO能力。 另一個數據表明, 大多數業務對數據庫的訪...
摘要:利用快速構建系統。構建系統和的安裝本文不再贅述,直接開始動手構建系統。分別為和,用于讀寫組,用于只讀組。最后配置的監控服務可選,非必須至此,一個全部基于開源應用的簡易系統就構建好了。利用ProxySQL、MySQL、ClickHouse快速構建HTAP系統。1. 關于ClickHouse企業里隨著數據量的增加,以及日趨復雜的分析性業務需求,主要適用于OLTP場景的MySQL壓力越來越大。多年...
摘要:我這里的實驗環境單機單主,已經配置好了讀寫分離策略。這些都不是本文的重點,就一帶而過吧。我下面只貼基于指紋的阻斷的配置。我這里的實驗環境:單機proxysql+mgr單主,已經配置好了讀寫分離策略。這些都不是本文的重點,就一帶而過吧。我下面只貼基于sql指紋的阻斷的配置。我們這里先查看下當前proxysql的 query rule表nonerule_idactivedigestmatch_p...
摘要:我這里的實驗環境單機單主,已經配置好了讀寫分離策略。這些都不是本文的重點,就一帶而過吧。我下面只貼基于指紋的阻斷的配置。我這里的實驗環境:單機proxysql+mgr單主,已經配置好了讀寫分離策略。這些都不是本文的重點,就一帶而過吧。我下面只貼基于sql指紋的阻斷的配置。我們這里先查看下當前proxysql的 query rule表nonerule_idactivedigestmatch_p...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20