Mysql數據庫優化一:集群(讀寫分離)之主從服務器的安裝與配置


  Mysql數據庫的集群(讀寫分離),說白了就是將讀操作和寫操作分開在不同的服務器上實現,以達到提高效率的目的。

      大致原理如下:

        數據庫中的所有操作都是有日志記錄的(前提是要打開這個日志記錄功能)

        1.master,主服務器(進行寫操作的服務器)的所有記錄都保存到二進制日志(binary log)中,這些記錄叫做二進制日志事件(binary log events);

        2.slave,從服務器(進行讀操作的服務器)將mater的binart log拷貝到自己的中繼日志(relay log),然后根據中繼日志對自己的數據進行修改;

        3.將讀的請求發給slave,寫的請求發給master,這樣就實現了讀寫分離。技術選型 myproxy

 

      實現過程:

      一,設置主服務器,並開啟日志;

         1),找到自己的mysql的配置文件,我的系統是win764位,mysql安裝在C盤下面,具體位置請看下圖 ,

          

 

    2),修改my.ini的配置。這里的服務器是主服務器,必須打開mysql的日志操作記錄,注意:修改配置需要權限,如果沒有權限請鼠標右鍵屬性后為自己的賬戶配置權限。

    修改port端口號:默認為3306,我在這里修改為3388,作為主服務器之用。

    添加圖中紅色方框的圈起來的部分,#后面是注釋部分,可以不寫。

      log="這里是日志存放的路徑地址和文件名" ,如圖中所示,我的日志存在mysql的ini的同級目錄,名字叫mysql.log,mysql.log是操作日志,可以通過文本軟件打開后查看進行了什么操作;

      log-bin=mysql-bin  的意思是開啟二進制日志,從服務器通過拷貝這個日志到自己的日志中,然后再進行數據的更新,才能實現主從服務器數據的一致;

      server-id=1   就是為該服務器配置一個服務器id,要確保其他服務器沒有占用該id,我在這里設置的為1,從服務器設置為10;

 

    3),配置修改完成后保存,重啟服務就可以了,然后為從服務器創建一個賬戶,以便從服務器來鏈接主服務器讀取數據。

      

    注意:開啟和關閉服務都要使用管理員權限打開cmd后進行操作,不然是是會失敗的;還有,mysql服務的名字也許不一樣,可以通過在查看服務來確認。

      

    

           服務重啟完成后,創建從服務器的賬戶:

        

  

        參數說明:

                                  *.*  :表示對所有表的所有操作

                                  sirius:slave連接master使用的賬號

                                  IDENTIFIED BY 'admin' :slave連接master使用的密碼

                                  192.168.77.128:slave IP

 

        執行成功后,可以到創建的賬戶是存在的

 

    4),查詢主服務器的狀態,記錄 File  和 Position的值,在從服務器端使用;

    

  圖沒有截好,這里的File是mysql-bin.0000003,這個數字如果是第一次開啟二進制日志那么就是1,如果不是就是其他數字;

 

主服務器端的配置暫時記錄到這,從服務器的配置之后更新····················


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM