中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MYSQL PROXYSQL的基本原理是什么

發布時間:2021-07-20 18:23:41 來源:億速云 閱讀:449 作者:chen 欄目:大數據

這篇文章主要介紹“MYSQL  PROXYSQL的基本原理是什么”,在日常操作中,相信很多人在MYSQL  PROXYSQL的基本原理是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MYSQL  PROXYSQL的基本原理是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

PorxySQL 作為使用MYSQL的一種中間件,為什么是目前比較流行的中間件之一,個人總結有以下幾點。

1 友好的操作界面,操作PROXYSQL 基本上懂得MYSQL的語法即可,雖然是基于SQLLITE 數據庫,但基本上操作中大部分的配置都不涉及重啟,僅僅需要將配置上傳到內存中即刻生效。

2 作為判斷MYSQL各種方式的高可用中的主,支持的種類很多,MGR, MHA,PXC, 基本上市面上的MYSQL 通用的高可用方式都支持,并且對于MGR的多主也有相關的配置選項。

3 配置簡單,如果不需要特殊的配置,則僅僅需要三步,PROXYSQL 就可以被配置成一個簡單的支持MYSQL高可用的訪問的通路。

既然PROXYSQL 有這么多的好處,并且前兩篇也講述了簡單的PROXYSQL FOR MHA , PROXYSQL FOR INNODB CLUSTER 兩種的配置的方式。今天就需要來看看到底PROXYSQL的一些原理和配置的一些細節,以及最后做一個壓力方面的測試,看看PROXYSQL 本身可以承受的訪問壓力。

MYSQL  PROXYSQL的基本原理是什么

MYSQL  PROXYSQL的基本原理是什么

實際當中我們操作的命令大部分都在內存中,而main這個數據庫就是人機交互的內存的接口。大部分的命令都是在內存中操作以后,上傳到內存和寫入到磁盤當中的。Disk 其實就是proxySQL 的配置的保存數據的位置,如果丟失或損壞則在PROXYSQL 重啟后會遇到配置丟失的問題,所以定期的去備份數據庫對PROXYSQL是有必要的。

其中有四個重要的表

  • mysql_servers   PROXYSQL 接受MYSQL的數據庫服務器的列表

  • mysql_users  PROXYSQL 連接MYSQL的用戶列表,這些用戶必須已經建立在MYSQL中。

  • mysql_query_rules PROXYSQL 對于查詢的一些設置的規則

  • global_variables  存儲展現當前系統正在應用的系統的變量

相對于上面的四個表,下面的命令集合就是在配置完相關的表后,需要將內存操作的數據, download to disk  和 upload to run time


LOAD MYSQL USERS TO RUNTIME;

SAVE MYSQL USERS TO DISK;

LOAD MYSQL SERVERS TO RUNTIME;

SAVE MYSQL SERVERS TO DISK;

LOAD MYSQL QUERY RULES TO RUNTIME;

SAVE MYSQL QUERY RULES TO DISK;

LOAD MYSQL VARIABLES TO RUNTIME;

SAVE MYSQL VARIABLES TO DISK;

 LOAD ADMIN VARIABLES TO RUNTIME;

SAVE ADMIN VARIABLES TO DISK;

另外一個問題是,什么變量是必須通過重啟PROXYSQL才能進行改變的

mysql-interface、mysql-threads和mysql-stacksize 這三個變量是必須通過重啟才能生效的。

關于query cache 實際上MYSQL本身在5.X時是有相關的 query cache但實際上使用的并不常見,基本上都屬于關閉的狀態。PROXYSQL 也具備query cache 主要是針對高頻的查詢中的結果的返回,有人可能要說,其實這個功能也是雞肋,其實我對這個看法是一半同意

一個功能是否是雞肋要看他應用的場景和被需要的情況,底下圖中的情況在有

MYSQL  PROXYSQL的基本原理是什么些場景中是常見的使用的方式, 那換一個思維的方式, 如果將前面的redis 換成 PROXYSQL query cache 如何,部分簡單的功能也是可以替換的。

MySQL查詢緩存為所有表提供了一個通用的緩存空間,與此不同的是,在proxyysql查詢緩存中,我們必須定義緩存的流量。這是通過定義查詢規則來完成的,這些規則匹配將被緩存的流量,并為緩存的結果設置一個“cache_ttl”。

通過下面的語句在proxysql 中查詢

 SELECT count_star,sum_time,hostgroup,digest,digest_text FROM stats_mysql_query_digest_reset ORDER BY sum_time DESC;

MYSQL  PROXYSQL的基本原理是什么

我們找到頻繁運行語句

INSERT INTO mysql_query_rules (rule_id,active,digest,cache_ttl,apply) VALUES (1,1,'0xAC80A5EA0101522E',5000,1);

然后我們將這條語句輸入到proxysql中

LOAD MYSQL QUERY RULES TO RUNTIME; SAVE MYSQL QUERY RULES TO DISK;

然后運行加載的語句。

下次遇到同樣的語句會在系統5000ms內使用PROXYSQL 內存的結果對訪問者進行數據的輸出。

到此,關于“MYSQL  PROXYSQL的基本原理是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

民县| 云浮市| 哈巴河县| 吉首市| 汝城县| 岳阳市| 本溪市| 涞水县| 陵水| 合阳县| 沈丘县| 东乌珠穆沁旗| 额敏县| 颍上县| 迁安市| 达孜县| 赞皇县| 韶山市| 勐海县| 西丰县| 望城县| 若尔盖县| SHOW| 宜兰县| 盐源县| 楚雄市| 本溪市| 南城县| 临潭县| 东辽县| 鲜城| 南充市| 三穗县| 威远县| 合山市| 乌兰浩特市| 新蔡县| 青河县| 胶南市| 榕江县| 台湾省|