<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # :-: **Mysql 5.7 復制** [TOC] ## 主從復制基本知識了解 1. Mysql復制為 **異步** 復制 2. 主從復制原理 Master 主庫 Slave 從庫 ![](https://box.kancloud.cn/cac3d683f1fa997d9c88d7a011b1b4d4_1076x724.png) 3. TPS 并發讀寫數 一般在 幾百上下/s 也有部分可以達到 幾千上下/s 4. 一般主從之間 避免延遲導致的數據 **延遲性** 可使用 **假一致性** (必要的時候 從主庫讀取實時數據 不必要的用戶 依舊讀取從庫數據) 5. Mysql復制 基于**BinLog**日志 > 日志存在三種格式 > * Statement:BinLog中存儲SQL語句,存儲日志量最小 > * Row:存儲event數據,存儲量大,但是不能直接的進行讀取 > * Mixed:介于兩者之間的存儲方式,對不確定的操作使用Row記錄,如果每天數據操作量很大,產生日志較多,可以考慮Mixed格式。 > 注意:一般主從復制 不適用Statement日志格式,避免影響主從數據不一致。 6. ![](https://box.kancloud.cn/fbadd7ffd669517a2a84198f44d29e70_525x211.png) --binglog-do-db : 同步數據庫 --binglog-ignore-db : 不同步數據庫 7. ![](https://box.kancloud.cn/a3cb58147dc9f39aa1a3d94b7d2516f0_580x343.png) 8. Mysql 復制類型 >* [ √ ] 基于二進制日志復制 (Mysql5.5之前唯一支持的復制類型) >* [ √ ] 使用GTID(全局事務標識符)完成基于事務的復制 9. Mysql 支持半同步復制。 ![](https://box.kancloud.cn/75c1b9747345ab47be7bfead1aa51812_496x404.png) 5.6 ![](https://box.kancloud.cn/dc72c2c12efe152c57394527e80b128e_519x412.png) 5.7 ***** ## 主從復制搭建 (主從均為Linux服務器) >### 一、創建復制用戶 (主庫) ``` ——不推薦使用—— IP:192.168.1.100 或 192.168.1.%匹配整個1網段 grant replication slave on *.* to '用戶名'@'從庫IP' identified by '密碼'; ——推薦—— 先創建用戶 create user '用戶名'@'從庫IP' identified by '密碼'; 授權用戶 grant replication slave on *.* to 用戶名@'從庫IP'; ``` >### 二、使用mysqldump導出數據(主庫) ``` 進入到需要導出的文件位置中 例如 導出到 /tmp/下 mysqldump --single-transaction --master-data=2 --triggers --routines --all-databases -uroot -p> all.sql 按照提示輸入密碼 ``` > ### 三、將導出sql文件傳入 從庫 中(主庫) ``` scp all.sql root@192.168.2.202:/tmp/ ``` >### 四、查看all.sql中的MASTER_LOG_FILE、MASTER_LOG_POS(從庫) ``` more all.sql 查看 CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154; MASTER_LOG_FILE MASTER_LOG_POS 將兩個值記錄下來 ``` >### 五、從庫配置 ``` 此處用戶密碼 使用 主庫create生成的用戶密碼 mysql>change master to marset_host='主庫IP', >master_user = '用戶', >master_password='密碼', >master_log_file=上面查看的 MASTER_LOG_FILE值, >master_log_pos=上面查看的 MASTER_LOG_POS值; ``` >### 六、開啟slave ``` start slave; ``` >### 七、 查看slave status ![](https://box.kancloud.cn/da11cf0aa112946c4316f5b5ad7fd742_1028x855.png) ``` show slave status \G; Slave_IO_Running: No Slave_SQL_Running: Yes 查看 slave鏈接狀態 都為yes時 連接成功 連接失敗時 查看此信息 Last_IO_Errno: 1593 Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. ``` > **中間可能會因為個人的環境問題 有一些報錯,相信大家都可以動手解決掉,解決問題的同時,學習到更廣面的知識** ***** ## 擴展知識 >### 主動延時復制 在從庫中進入MySQL 進行設置 主動延時復制 **設置延時操作時 先關閉slave服務** `mysql> change master to master_delay=3600;` > 設置完成之后,輸入一下命令查詢 `mysql> use performance_schema; ` `mysql> show tables;` ![](https://box.kancloud.cn/f7e98fc59898d075e127113360c6262d_583x676.png) > replication_***開頭的表 都是主從配置的視圖表 `mysql>select * from replication_applier_configuration ;` ![](https://box.kancloud.cn/b69aa39d2db45e861be685971e715d64_1007x236.png) CHANNEL_NAME : 復制鏈路名稱,MySQL支持多鏈路復制,可以存在一條空字符串的channel_name,當存在多條復制鏈路時鏈路的channel_name都不能一樣。 DESIRED_DELAY:主從復制延遲,該字段用來配置當主進行操作之后延遲多少秒后才被復制到slave節點。 `mysql>select * from replication_applier_status`; ![](https://box.kancloud.cn/47087727ba17e3d8ee0536f1a96ca8ce_727x106.png) SERVICE_STATE:復制狀態 REMAINING_DELAY:下次主從同步時間 多線程復制視圖表 replication_applier_status_by_coordinator replication_applier_status_by_worker 主從同步配置信息 replication_connection_configuration 鏈接狀態 replication_connection_status ## 基于日志復制 在線轉換為 基于事務的復制 ![](https://box.kancloud.cn/12476f22b09547e4491ba6ec7afd3b12_1287x462.png) **基于事務的復制 對于數據的完整性 更加安全 推薦使用 基于事務的復制** ***** ### 轉換分為九個步驟 ![](https://box.kancloud.cn/95ac52757b306145339bc924c3d9268d_1117x420.png) ![](https://box.kancloud.cn/2ff5e0b883ec5d28843093d4cbca99a4_1208x360.png) ### 以下為實際操作代碼塊 #### 查看版本信息 `mysql> show variables like 'version'; ` #### 查看服務器gtid_mode `mysql> show variables like 'gtid_mode';` #### 設置gtid_consistency (主庫和從庫) `mysql> set @@global.enforce_gtid_consistency=warn; ` #### 查看當前的錯誤日志配置 查詢日志位置 `mysql> show variables like 'log_error';` 查看錯誤日志 確定沒有報錯的情況下 #### 再次設置gtid_consistency (主庫和從庫) ` mysql> set @@global.enforce_gtid_consistency=on; ` > gtid_mode 四種值 只能按順序設置 > off 關閉 > off_permissive 關閉準備 > on_permissive 啟動準備 > on 啟動 #### 修改gtid_mode(主庫和從庫) `mysql> set @@global.gtid_mode = off_permissive; ` `mysql> set @@global.gtid_mode = on_permissive; ` #### 查看是否有匿名復制(日志復制) 為空即可 `mysql> show status like 'ongoing_anonymounse_transcation_count';` #### 確認沒有匿名復制之后繼續修改gtid_mode(主庫和從庫) `mysql> set @@global.gtid_mode = on; ` 然后查看一下gtid_mode `mysql> show variables like 'gtid_mode';` #### 重啟slave(從庫) `mysql> stop slave` `mysql> change master to master_auro_position=1;` `mysql> start slave`
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看