亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mysql 讀寫分離(基礎(chǔ)篇)

 更新時間:2009年04月13日 11:10:42   作者:  
MySQL Proxy最強大的一項功能是實現(xiàn)“讀寫分離(Read/Write Splitting)”。
基本的原理是讓主數(shù)據(jù)庫處理事務性查詢,而從數(shù)據(jù)庫處理SELECT查詢。數(shù)據(jù)庫復制被用來把事務性查詢導致的變更同步到集群中的從數(shù)據(jù)庫。

  Jan Kneschke在《MySQL Proxy learns R/W Splitting》中詳細的介紹了這種技巧以及連接池問題:

  為了實現(xiàn)讀寫分離我們需要連接池。我們僅在已打開了到一個后端的一條經(jīng)過認證的連接的情況下,才切換到該后端。MySQL協(xié)議首先進行握手。當進入到查詢/返回結(jié)果的階段再認證新連接就太晚了。我們必須保證擁有足夠的打開的連接才能保持運作正常。
實現(xiàn)讀寫分離的LUA腳本:
  -- 讀寫分離
  --
  -- 發(fā)送所有的非事務性Select到一個從數(shù)據(jù)庫
  

復制代碼 代碼如下:

if is_in_transaction == 0 and
  packet:byte() == proxy.COM_QUERY and
  packet:sub(2, 7) == "SELECT" then
  local max_conns = -1
  local max_conns_ndx = 0
  for i = 1, #proxy.servers do
  local s = proxy.servers[i]
  -- 需要選擇一個擁有空閑連接的從數(shù)據(jù)庫
  if s.type == proxy.BACKEND_TYPE_RO and
  s.idling_connections > 0 then
  if max_conns == -1 or
  s.connected_clients < max_conns then
  max_conns = s.connected_clients
  max_conns_ndx = i
  end
  end
  end
  -- 至此,我們找到了一個擁有空閑連接的從數(shù)據(jù)庫
  if max_conns_ndx > 0 then
  proxy.connection.backend_ndx = max_conns_ndx
  end
  else
  -- 發(fā)送到主數(shù)據(jù)庫
  end
  return proxy.PROXY_SEND_QUERY

注釋:此技巧還可以用來實現(xiàn)其他的數(shù)據(jù)分布策略,例如分片(Sharding)。

相關(guān)文章

  • JDK1.7下測試ConnectorJ連接MySQL8.0的方法

    JDK1.7下測試ConnectorJ連接MySQL8.0的方法

    MySQL?Connector/J是一個JDBC?4型驅(qū)動程序。Type?4標志意味著驅(qū)動程序是MySQL協(xié)議的純Java實現(xiàn),不依賴于MySQL客戶端庫,這篇文章主要介紹了JDK1.7下測試ConnectorJ連接MySQL8.0,需要的朋友可以參考下
    2022-10-10
  • win10下mysql 8.0.11 壓縮版安裝教程

    win10下mysql 8.0.11 壓縮版安裝教程

    這篇文章主要為大家詳細介紹了win10下mysql 8.0.11 壓縮版安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 詳解Mysql通訊協(xié)議

    詳解Mysql通訊協(xié)議

    這篇文章對Mysql的通訊協(xié)議做了詳細介紹和說明,希望我們整理的內(nèi)容對你有用,一起學習下吧。
    2017-12-12
  • MySQL 截取字符串函數(shù)的sql語句

    MySQL 截取字符串函數(shù)的sql語句

    這篇文章主要介紹了MySQL 截取字符串函數(shù)的sql語句,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-04-04
  • 使用Mysql5.x以上版本出現(xiàn)報錯#1929 Incorrect datetime value: '''''''' for column ''''createtime''''的快速解決方法

    使用Mysql5.x以上版本出現(xiàn)報錯#1929 Incorrect datetime value: '''''''' f

    我的MySQL安裝后,保存刪除表數(shù)據(jù)總是出現(xiàn)#1929 Incorrect datetime value: '' for column 'createtime' 的報錯提醒,導致不能刪除表里數(shù)據(jù)。下面小編給大家分析原因及解決辦法,需要的朋友可以參考下
    2017-01-01
  • MariaDB 新版本實力逆襲不僅僅是 MySQL 替代品

    MariaDB 新版本實力逆襲不僅僅是 MySQL 替代品

    MariaDB是MySQL源代碼的一個分支,主要由開源社區(qū)在維護,采用GPL授權(quán)許可。MariaDB 10.0和MySQL 5.6的不同之處有那些,MariaDB和Percona有什么不同呢?下面通過本文詳細了解下吧
    2016-12-12
  • MySQL主從同步原理及應用

    MySQL主從同步原理及應用

    日常工作中,MySQL數(shù)據(jù)庫是必不可少的存儲,其中讀寫分離基本是標配,而這背后需要MySQL開啟主從同步,形成一主一從、或一主多從的架構(gòu)。本篇文章我們就來解紹MySQL主從同步原理及應用,需要的朋友可以參考一下
    2021-10-10
  • mysql游標的原理與用法實例分析

    mysql游標的原理與用法實例分析

    這篇文章主要介紹了mysql游標的原理與用法,結(jié)合實例形式分析了mysql游標的概念、原理、用法及操作注意事項,需要的朋友可以參考下
    2020-04-04
  • 在阿里云的CentOS環(huán)境中安裝配置MySQL的教程

    在阿里云的CentOS環(huán)境中安裝配置MySQL的教程

    這篇文章主要介紹了在阿里云的CentOS環(huán)境中安裝配置MySQL的教程,注意一下文章開頭所提到的系統(tǒng)自帶MariaDB的問題,需要的朋友可以參考下
    2015-12-12
  • mysql 5.7.13 winx64安裝配置方法圖文教程(win10)

    mysql 5.7.13 winx64安裝配置方法圖文教程(win10)

    這篇文章主要為大家分享了mysql 5.7.13 winx64安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01

最新評論