91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

mysql基于日志的主從復制是什么

發布時間:2020-08-18 10:40:28 來源:億速云 閱讀:174 作者:小新 欄目:MySQL數據庫

這篇文章主要介紹了mysql基于日志的主從復制是什么,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

                                                       

總有人問我 會不會讀寫分離,我有時真的不知道怎么回答,這么滴吧,技術本身不難你,難的是咱們能不能遇得到這么大的項目。如果是真有這么大項目,光讀寫分離這個事肯定不是一兩個人在搞,應該是多人協作的。

所以呢!我沒搞過。

但是……

不能做實驗環境嗎?(一個尷尬的笑容)

我從找文檔資料到實驗落地,一共花了3天時間(因為不是全天都在圍繞著這個事情哇)。基本搞定,就是說,如果有人問我會不會,我說我已經操作過了,不是什么難事。

具體注意點:


  1. 主從之間的防火墻需要放行
  2. mysql-id 得唯一 見 my.cnf
  3. uuid 得唯一 見 auto.cnf
  4. 服務器要授權,一般授權一個slave賬號給從服務器使用

常用幾個命令(針對日志的方式)


  1. 在主庫上操作的有

    mysql > show master status; #查看主庫狀態

    mysql >  grant replication slave on . to ‘slave‘@’%ip%’ identified by ‘password’;#  to 后面的 解釋: ‘slave’ 代表哪個賬戶,@后面的是從服務器的IP by 后面的是密碼;

    systemctl status firewalld # 查看防火墻狀態

    firewall-cmd –list-all # 查看防火墻的端口列表

    firewall-cmd –permanent –zone=public –add-port=3306/tcp # 放行 3306 端口

    firewall-cmd –reload  # 重啟防火墻

    另外 iptable 的話 可以自行看看哇

  2. 在從庫上操作主要有

    1. mysql>  stop slave; // 停止復制
    2. mysql>  reset slave; // 重置復制
    3. mysql>  start slave; // 開啟復制
    4. mysql> show slave status\G; # 查看狀態

具體配置


  1. 環境介紹

    1. 主服務器  192.168.5.238   centos 7.4
    2. 從服務器 192.168.5.239    centos 7.4
    3. 利用日志來進行主從配置
  2. 主服務器上的配置

    1. 防火墻操作,防止后面出奇怪的問題 參考常用幾個命令的防火墻操作

    2. mysql 的日志相關的配置  其他的先不用動 主要是看這段

      # aster live copy configure
      log-bin=mysql-bin  //日志文件名
      binlog_format=mixed  // 這個日志格式,還有幾個選項,大家都選mixed  可選項statement/row/mixed,如果想深究 可以去看官方文檔
      server-id   = 238 //為了不重復使用 盡量采用服務器IP 的最后一位來命名
      skip_name_resolve=ON //這個直接寫上就可以了,參考一下別人的文檔
      expire_logs_days = 10 //設置日志保存的天數,這個吧 我覺得可以不用加,加上也無所謂,因為在測試環境,如果正式上線跑的話,就要掂量一下了
      # /etc/init.d/mysql restart // 這個不一定是這個命令 看自己是用什么方式安裝的 centos 也有 systemctl restart mysql的 這個不懂可以多研究一下linux操作
      ##如果兩臺服務器不是復制的話,auto.cnf 的uuid應該會不一樣,如果是復制的話,就該看看了,這個在mysql的安裝目錄的 /var、目錄下如果有 就把這個文件刪除或者mv 備份一下

  3. mysql配置一下復制權限

    # mysql -uroot -p “password” //登入mysql服務器、會讓你輸入密碼
      mysql>GRANT replication slave ON . TO ‘slave‘@’%’ IDENTIFIED BY ‘111111’; // 解釋 replication 分配復制的權限 這個. 可以操作那個庫  后面的‘slave‘@’%’ 表示任何主機用slave都可以進行從庫復制,也可以指定到IP 后面就是密碼哈
      mysql> show master status;
      +——————+———-+————–+——————+——————-+
      | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
      +——————+———-+————–+——————+——————-+
      | mysql-bin.000010 |     2812 |              |                  |                   |
      +——————+———-+————–+——————+——————-+
      1 row in set (0.00 sec)
      看到上面的這個表表示成功了

  4. 從庫上的配置

    1. 修改my.cnf

      log-bin=mysql-bin  //日志文件名
      binlog_format=mixed //日志格式
      server-id   =239    //服務器ID 這個和主服務器一個解釋,用IP的尾巴
      # expire_logs_days = 10  //這個我注釋掉了,
      # early-plugin-load = “” //這個暫時沒有使用,如果啟用可以配置此項,主從復制這個項并不是關鍵項
      relay_log = mysql-relay-bin //這個是個從庫的復制日志
      relay_log_index=relay_log.index //日志索引
      # /etc/init.d/mysql restart // 這個不一定是這個命令 看自己是用什么方式安裝的 centos 也有 systemctl restart mysql的 這個不懂可以多研究一下linux操作

    2. 設置從庫

      1. 進入從庫的mysql 終端  #mysql -uroot -p //進入終端

        # mysql -uroot -p //進入終端(之所以寫詳細點,就是怕看到此文的人會誤會操作不全)

      2. 關閉slave  # 注意配置從庫之前先關閉掉slave;

        mysql>stop slave;  //這個是關閉從庫哇,保證一把過

      3. 修改master參數

        mysql>change master to
        master_host=’192.168.5.238’,
        master_user=’slave’,
        master_password=’這里填上面設置主庫復制權限時的密碼’,
        master_log_file=’mysql-bin.000010’, //這里填 在主庫 show master status 的文件名,位置對著抄就好了
        master_log_pos=2812; //在主庫的show master status 里找

      4. 啟動從庫

        mysql>start slave; //啟動從庫

      5. 查看主從復制是否成功

        mysql> show slave status \G;

                 Slave_IO_State: Waiting for master to send event
                      Master_Host: 192.168.5.238
                      Master_User: slave
                      Master_Port: 3306
                    Connect_Retry: 60
                  Master_Log_File: mysql-bin.000010
              Read_Master_Log_Pos: 2812
                   Relay_Log_File: mysql-relay-bin.000013
                    Relay_Log_Pos: 3025
            Relay_Master_Log_File: mysql-bin.000010
                 Slave_IO_Running: Yes
                Slave_SQL_Running: Yes

        看到 Slave_IO_Running 和 Slave_SQL_Running 值 都為 Yes  說明就成功了,如果不成,請看下面的提示信息,對著谷歌 百度 應該能找出來的

        1. 我在配置時遇到了一個問題,就是報uuid錯誤,原因是我的實驗環境是一個虛擬機安裝完mysql后復制的,所以導致mysql的uuid 相同了

          # cd /usr/local/mysql/var
          # mv auto.cnf auto.cnf.back //這個你看有沒有,沒有就不操作,有就這樣
          #  /etc/init.d/mysql restart  //重啟數據庫
          然后執行show slave status\G;觀察兩個yes

        2. 至此,基于日志的主從復制就完成了

總結:


  1. 防火墻 要先看
  2. 步驟無所謂,對著搞,直到成功
  3. 細心,不能慌

感謝你能夠認真閱讀完這篇文章,希望小編分享mysql基于日志的主從復制是什么內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

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

AI

会东县| 德化县| 永仁县| 黄梅县| 探索| 开封县| 延川县| 五莲县| 安龙县| 电白县| 昌宁县| 汤阴县| 承德市| 高碑店市| 五峰| 琼海市| 饶阳县| 阳山县| 堆龙德庆县| 布拖县| 苗栗市| 永春县| 鄄城县| 汕头市| 仁怀市| 夏河县| 岳普湖县| 潢川县| 封丘县| 北碚区| 兴义市| 遵义市| 罗江县| 荔浦县| 平乐县| 肇庆市| 邵武市| 达拉特旗| 和林格尔县| 疏附县| 百色市|