<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                > ***主從復制也叫主從同步,就是在一臺服務器上指定一臺主數據庫,另一臺指定一臺從數據庫,兩者同時開啟遠程連接,通過主數據庫中的二進制日志事件被從數據庫中的IO線程調用到中繼日志事件中,從數據庫再根據SQL線程來進行寫入操作。*** * [ ] 主從復制是異步進行的,所以會有一定的延遲 * [ ] 主從復制可以實現讀寫分離 * [ ] 主從復制可以緩解數據庫的壓力 > #### ***主從復制原理*** MySQL主從復制涉及到三個線程,一個運行在主節點(log dump thread),其余兩個(I/O thread, SQL thread)運行在從節點,如下圖所示: ![](https://box.kancloud.cn/95082fd3bb20636c824c5d5355192eac_511x311.png) > #### ***主從復制配置*** windows配置:my.ini linux配置:my.cnf * [ ] 先關閉防火墻 windows在網絡里面設置防火墻,linux關閉:service iptables stop * [ ] centos7關閉防火墻 ~~~ #查看防火墻 firewall-cmd --state #停止防火墻 systemctl stop firewalld.service #禁止防火墻開機啟動 systemctl disable firewalld.service ~~~ * [ ] debian關閉防火墻 ~~~ /etc/init.d/ufw stop /etc/init.d/ufw start #或者 sudo ufw status 狀態 sudo ufw enable 開啟 sudo ufw disable 禁用 ~~~ * [ ] 授權(遠程訪問) ``` #允許任何ip地址(%表示允許任何ip地址)的電腦用admin帳戶和密碼(123456)來訪問這個mysql server。 注意admin賬戶不一定要存在。 grant all on *.* to admin@'%' identified by '123456' with grant option; flush privileges; #支持root用戶允許遠程連接mysql數據庫 grant all privileges on *.* to 'root'@'192.168.1.%' identified by '123456789' with grant option; flush privileges; ``` * [ ] 在配置文件中的[mysqld]中進行以下配置(主機配置) ``` #id server-id =1 #二進制文件 log-bin ="/www/server/data/mysql-bin" log-error ="/www/server/data/mysql-error" #主從同步時 忽略的數據庫 binlog-ignore-db=mysql #只同步shop數據庫 binlog-do-db=shop ``` * [ ] 授權哪臺主機為從數據庫 ``` grant replication slave,reload,super ON *.* TO 'root'@'192.168.1.%' identified by '123456' ``` * [ ] 查看主數據庫狀態(每次在做同步前/重啟mysql時,需要觀察一些最新狀態) ``` show master status; ``` * [ ] 從機配置(my.cnf) ``` #id server-id =2 #二進制文件 log-bin =mysql-bin #同步test數據庫 replicate-do-db=shop ``` * [ ] 授權哪臺數據庫是自己的主數據庫 ``` STOP SLAVE; CHANGE MASTER TO master_host = '192.168.1.105', master_user = 'root', master_password = '123456789', master_log_file = 'mysql-bin.000054', master_log_pos = 1254; START SLAVE; SHOW SLAVE STATUS; ``` 如果此時出錯... 解決:stop slave 然后再次執行授權的哪一步 * [ ] 開啟主從同步 ``` 在從機里面執行(linux),start slave; 檢驗:show slave status \G; ``` * [ ] 主要觀察兩個 ``` Slave_IO_Running Slave_SQL_Running ``` 如果都是YES,則說明配置成功! 如果此時出現錯誤,看下面的日志說明。主要可能是id相同了,這里可能是個bug。 首頁先檢查serverid `show variables like 'server_id'` #注意這里是下劃線,配置時是- 解決:set global server_id = 2;
                  <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>

                              哎呀哎呀视频在线观看