久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么

      在mysql中,可以利用“mysql-proxy”實(shí)現(xiàn)讀寫(xiě)分離;“mysql-proxy”是一個(gè)mysql官方提供用于實(shí)現(xiàn)讀寫(xiě)分離的軟件,也叫中間件,可以讓主數(shù)據(jù)庫(kù)處理寫(xiě)操作,而從數(shù)據(jù)庫(kù)處理查詢(xún)的操作,數(shù)據(jù)庫(kù)的一致性則通過(guò)主從復(fù)制來(lái)實(shí)現(xiàn)。

      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么

      本教程操作環(huán)境:windows10系統(tǒng)、mysql8.0.22版本、Dell G3電腦。

      mysql讀寫(xiě)分離的實(shí)現(xiàn)方式是什么

      Mysql中可以實(shí)現(xiàn)讀寫(xiě)分離的插件有mysql-proxy / Mycat / Amoeba ,mysql-proxy是系統(tǒng)自帶的一個(gè)插件,此次實(shí)驗(yàn)主要用它來(lái)實(shí)現(xiàn)讀寫(xiě)分離

      mysql-proxy是實(shí)現(xiàn)"讀寫(xiě)分離(Read/Write Splitting)"的一個(gè)軟件(MySQL官方提供 ,也叫中間件),基本的原理是讓主數(shù)據(jù)庫(kù)處理寫(xiě)操作(insert、update、delete),而從數(shù)據(jù)庫(kù)處理查詢(xún)操作(select)。而數(shù)據(jù)庫(kù)的一致性則通過(guò)主從復(fù)制來(lái)實(shí)現(xiàn)

      MySQL-proxy 它能實(shí)現(xiàn)讀寫(xiě)語(yǔ)句的區(qū)分主要依靠?jī)?nèi)部的一個(gè)lua腳本(能實(shí)現(xiàn)讀寫(xiě)語(yǔ)句的判斷)

      如果只在主服務(wù)器(寫(xiě)服務(wù)器)上完成數(shù)據(jù)的寫(xiě)操作,此時(shí)從服務(wù)器上沒(méi)有執(zhí)行寫(xiě)操作,是沒(méi)有數(shù)據(jù)的

      這個(gè)時(shí)候需要使用另外一個(gè)技術(shù)來(lái)實(shí)現(xiàn)主從服務(wù)器的數(shù)據(jù)一致性,這個(gè)技術(shù)叫做 主從復(fù)制技術(shù), 所以說(shuō)主從復(fù)制是讀寫(xiě)分離的基礎(chǔ)

      讀寫(xiě)分離(MySQL- Proxy)是指讓master處理寫(xiě)操作,讓slave處理讀操作,非常適用于讀操作量比較大的場(chǎng)景,可減輕master的壓力

      使用mysql-proxy實(shí)現(xiàn)mysql的讀寫(xiě)分離,mysql-proxy實(shí)際上是作為后端mysql主從服務(wù)器的代理,它直接接受客戶(hù)端的請(qǐng)求,對(duì)SQL語(yǔ)句進(jìn)行分析,判斷出是讀操作還是寫(xiě)操作,然后分發(fā)至對(duì)應(yīng)的mysql服務(wù)器上

      因?yàn)閿?shù)據(jù)庫(kù)的寫(xiě)操作相對(duì)讀操作是比較耗時(shí)的,所以數(shù)據(jù)庫(kù)的讀寫(xiě)分離,解決的是數(shù)據(jù)庫(kù)的寫(xiě)入,影響了查詢(xún)的效率

      在server1和server2先配置gtid主從復(fù)制

      gtid主從復(fù)制上篇博客已經(jīng)說(shuō)明,這里不再贅述,只展示最終效果
      可以看到server1上建立一個(gè)westos數(shù)據(jù)庫(kù),對(duì)應(yīng)的server2上會(huì)同步過(guò)來(lái)
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么

      配置server3代理端(mysql-proxy)

      在server3上搭建mysql-proxy代理服務(wù)器(實(shí)現(xiàn)客戶(hù)端寫(xiě)在server1上、讀server2上的數(shù)據(jù))
      (1) 從物理機(jī)獲取mysql-proxy安裝包到server3
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      (2)在server3上進(jìn)行配置

      [root@server3 ~]# systemctl status mysqld	##查看mysqld服務(wù)狀態(tài) [root@server3 ~]# systemctl stop mysqld	##關(guān)閉mysqld服務(wù),因?yàn)榇矸?wù)器要用3306端口 [root@server3 ~]# tar zxf mysql-proxy-0.8.5-linux-glibc2-x86-64bit.tar.gz -C /usr/local/	##解壓到/usr/local/目錄下

      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      做一個(gè)軟連接以便管理

      ln -s mysql-proxy-0.8.5-linux-glibc2-x86-64bit mysql-proxy

      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      mysql-proxy目錄下是沒(méi)有配置文件的,所以需要自行建立一個(gè)配置文件的目錄,創(chuàng)建配置文件
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      使用下面兩條命令可以查配置文件中寫(xiě)入的參數(shù)

      [root@server3 bin]# ./mysql-proxy --help [root@server3 bin]# ./mysql-proxy --help-proxy
      [mysql-proxy]	##指定語(yǔ)句塊 proxy-address=0.0.0.0:3306	##指定proxy訪問(wèn)的主機(jī)和端口,3306是一個(gè)對(duì)外的通用端口 proxy-read-only-backend-addresses=172.25.254.2:3306	##讀主機(jī)的ip和端口 proxy-backend-addresses=172.25.254.1:3306	##執(zhí)行寫(xiě)主機(jī)的ip和端口 proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua	##指定讀寫(xiě)分離操作使用的lua文件路徑 pid-file=/usr/local/mysql-proxy/log/mysql-proxy.pid	##pid存放路徑 log-file=/usr/local/mysql-proxy/log/mysql-proxy.log	##日志存放路徑 plugins=proxy	##指定使用的插件 log-level=debug	##日志的等級(jí) keepalive=true	##開(kāi)啟守護(hù)進(jìn)程 daemon=true	##使用后臺(tái)方式運(yùn)行

      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      保存后需要將配置文件的權(quán)限改為660,需要?jiǎng)?chuàng)建 log 目錄
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      修改數(shù)據(jù)庫(kù)發(fā)生讀寫(xiě)分離時(shí)的最大和最小連接數(shù)

      [root@server3 mysql-proxy]# find . -name *.lua  ./share/doc/mysql-proxy/rw-splitting.lua [root@server3 mysql-proxy]# cd share/doc/mysql-proxy  [root@server3 mysql-proxy]# ls  [root@server3 mysql-proxy]# vim rw-splitting.lua		##將lua腳本里原本啟動(dòng)機(jī)制的最小4個(gè)最大8個(gè)連接,改為1和2 min_idle_connections = 1, 最小連接數(shù)  max_idle_connections = 2, 最大連接數(shù)

      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      (3)啟動(dòng)mysql-proxy

      /usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/usr/local/mysql-proxy/conf/mysql-proxy.conf	##啟動(dòng) cat /usr/local/mysql-proxy/log/mysql-proxy.log	##查看日志

      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么

      測(cè)試讀寫(xiě)分離

      (1)在server1上創(chuàng)建新的用戶(hù)并且授權(quán)

      mysql> grant insert,update,select on *.* to kkxili@'%' identified by 'Red1hat*'; mysql> FLUSH PRIVILEGES;	##刷新授權(quán)表 mysql> USE westos; Database changed mysql> CREATE TABLE linux (     -> username varchar(10) not null,     -> password varchar(15) not null); mysql>DESC linux;

      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      (2)server3安裝lsof
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      (3)在用戶(hù)端虛擬機(jī)server4上第一次連接數(shù)據(jù)庫(kù)代理server3
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      在server3上面:lsof -i:3306
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      (4)在用戶(hù)端虛擬機(jī)server4上第二次連接數(shù)據(jù)庫(kù)代理server3
      在server3上面:lsof -i:3306
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      (5)在用戶(hù)端虛擬機(jī)server4上第三次連接數(shù)據(jù)庫(kù)代理server3
      在server3上面:lsof -i:3306
      開(kāi)始讀寫(xiě)分離

      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么上面是讀寫(xiě)分離的讀訪問(wèn)測(cè)試
      寫(xiě)測(cè)試
      在用戶(hù)端插入數(shù)據(jù)

      use westos; insert into linux values('user1','123');

      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      server1和server2都可以看到插入的數(shù)據(jù)
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      在server2中關(guān)閉主從復(fù)制
      用戶(hù)端再次寫(xiě)入數(shù)據(jù),看不到剛剛寫(xiě)的數(shù)據(jù)
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      寫(xiě)在server1上,可以查看到數(shù)據(jù)
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      在server2上實(shí)現(xiàn)了讀寫(xiě)分離
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      server2重新開(kāi)啟主從復(fù)制可以看到數(shù)據(jù)
      mysql讀寫(xiě)分離實(shí)現(xiàn)方式是什么
      客戶(hù)端讀的是server2,server2只能讀,不能寫(xiě),因此看不到剛才寫(xiě)進(jìn)去的東西,server1可以看到
      實(shí)現(xiàn)了客戶(hù)端(虛擬機(jī))對(duì)server1的寫(xiě),對(duì)server2的讀

      當(dāng)訪問(wèn)數(shù)據(jù)庫(kù)的用戶(hù)數(shù)量很多時(shí),數(shù)據(jù)庫(kù)的代理就把后端的數(shù)據(jù)庫(kù)實(shí)現(xiàn)讀寫(xiě)分離
      server1是寫(xiě)的數(shù)據(jù)庫(kù)、server2是讀的數(shù)據(jù)庫(kù)
      當(dāng)server1和server2滿(mǎn)足gtid的主從復(fù)制時(shí),用戶(hù)往數(shù)據(jù)庫(kù)寫(xiě)入的數(shù)據(jù)其實(shí)是寫(xiě)入了server1,并沒(méi)有寫(xiě)入server2,server2上面的數(shù)據(jù)是復(fù)制過(guò)去的,因此server1、server2、客戶(hù)機(jī)上面都能查到剛剛寫(xiě)進(jìn)去的數(shù)據(jù),其實(shí)客戶(hù)機(jī)查的是server2(讀)
      當(dāng)關(guān)閉server1和server2的異步復(fù)制時(shí),客戶(hù)機(jī)往數(shù)據(jù)庫(kù)寫(xiě)入的數(shù)據(jù)只寫(xiě)進(jìn)了server1,沒(méi)有寫(xiě)進(jìn)去server2,server2也沒(méi)有復(fù)制一份
      因此server1可以查看到,server2和客戶(hù)機(jī)上面都查不到剛剛寫(xiě)進(jìn)去的數(shù)據(jù),此時(shí)的客戶(hù)機(jī)讀的是server2

      推薦學(xué)習(xí):mysql視頻教程

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)