<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國際加速解決方案。 廣告
                ## 主從介紹的原理分析應用場景 * 概念 主從同步使得數據可以從一個數據庫服務器復制到其他服務器上,在復制數據時,一個服務器充當主服務器(master),其余的服務器充當從服務器(slave) * 主從同步應用場景 1. 做數據的熱備,作為后備數據庫,主數據庫服務器故障后,可以切換到從服務器繼續工作,避免數據丟失。 2. 架構的擴展。將工作負載分發到多個slave節點上,從而提高系統性能。在這個使用場景下,所有的寫(write)和更新(update)操作都在Master節點上完成;所有的讀(read)操作都在slave節點上完成。通過增加更多的slave節點,便能提高系統的讀取速度。 3. 數據分析。實時數據可以在Master節點上創建,而分析這些數據可以在slave節點上進行,并且不會對Master節點性能產生影響 ## ## 準備 搭建兩臺mysql服務器,一臺作為主服務器,一臺作為從服務器,主服務器進行寫操作,從服務器進行讀取操作 * 關閉防火墻 ``` systemctl stop firewalld ``` 關閉selinux ``` vi /etc/selinux/config SELINUX=disabled ``` ## * 修改主機名 > 方法1:修改hosts文件 ``` vi /etc/hosts 47.111.252.189 master ``` `方法2:使用hostnamectl命令` `[root@xlucas1 ~]# hostnamectl set-hostname master` ## ## master配置 * 修改配置文件 ``` [mysqld] server-id=158 #### ##開啟bin-log,默認是開啟的 log-bin=/www/server/data/mysql-bin ``` * 重啟mysql服務 * 分配用戶【允許從數據庫復制主數據庫】 ``` grant replication slave on *.* to 'ganranchong'@'47.114.87.166' identified by '123456'; flush privileges; ``` * 顯示主數據庫配置信息 [記錄bin-log日志,以及位置] ``` show master status; ``` ``` +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000013 | 329 | | | | +------------------+----------+--------------+------------------+-------------------+ ``` ## ## slave配置 * 修改配置文件 [主從服務器中的server-id] ``` [mysqld] read-only=1 server-id=166 replicate-do-db=db relay-log=mysql-relay-bin ``` * 重啟mysql服務 * 配置主數據信息[位置和bin-log文件在上面顯示主數據庫配置信息可見] ``` change master to master_host='47.111.252.189',master_user='ganranchong',master_password='123456',master_log_file='mysql-bin.000013',master_log_pos=329; ``` * 啟動slave ``` start slave; ``` *檢查從數據庫配置信息是否正常 ``` show slave status\G ``` ![](https://img.kancloud.cn/47/87/47877e9267b76d24ee0b1f4800904a79_496x234.png) > 【結果】slave_IO_Running和slave_SQL_Runing 兩個進程正常則表示配置成功 ## ## 總結 1. 配置之前做好數據庫的備份,然后進行數據初始化。 2. 從數據配置的只讀對超級用戶不起作用,仍然可以插入。為使主從數據同步一致,不應在從數據庫中插入數據,否則會造成數據沖突。 3. 如果是阿里云的服務器,要注意端口權限問題。 ## ## 清除主從復制關系 mysql主從復制中,需要將主從復制關系清除,需要取消其從庫角色。這可通過執行RESET SLAVE ALL清除從庫的同步復制信息、包括連接信息和二進制文件名、位置。從庫上執行這個命令后,使用show slave status將不會有輸出。 reset slave是各版本Mysql都有的功能,在stop slave之后使用。主要做: 刪除master.info和relay-log.info文件; 刪除所有的relay log(包括還沒有應用完的日志),創建一個新的relay log文件; 從Mysql 5.5開始,多了一個all參數。如果不加all參數,那么所有的連接信息仍然保留在內存中,包括主庫地址、端口、用戶、密碼等。這樣可以直接運行start slave命令而不必重新輸入change master to命令,而運行show slave status也仍和沒有運行reset slave一樣,有正常的輸出。但如果加了all參數,那么這些內存中的數據也會被清除掉,運行show slave status就輸出為空了。 * 刪除從服務器數據庫配置 ~~~ mysql>stop slave; QueryOK, 0 rowsaffected (0,00 sec) mysql>reset slave all; QueryOK, 0 rowsaffected (0,04 sec) mysql> show slave status\G Emptyset (0,00 sec) ~~~ RESET SLAVE將使SLAVE忘記主從復制關系的位置信息。該語句將被用于干凈的啟動, 它刪除master.info文件和relay-log.info文件以及所有的relay log 文件并重新啟用一個新的relaylog文件。 使用場景:當原來的主從關系被破壞之后,從庫經過重新初始化后直接連接會報 ERROR 1201的錯誤,運行reset slave后,重新配置主從連接就可以了; * 刪除主服務器 【一】RESET MASTER 功能說明:刪除所有的binglog日志文件,并將日志索引文件清空,重新開始所有新的日志文件。用于第一次進行搭建主從庫時,進行主庫binlog初始化工作; ~~~~~~ mysql> reset master; Query OK, 0 rows affected (0.03 sec) mysql> show master status\G; *************************** 1. row *************************** File: mysql-bin.000001 Position: 107 Binlog_Do_DB: Binlog_Ignore_DB: 1 row in set (0.00 sec) ~~~~~~ 顯示所有的binlog已經被刪除掉,且binlog從000001 開始記錄 【**注意**】:當數據庫要清理binlog文件的時候,可以通過操作系統進行刪除,也可以運行reset master進行刪除。**但是如果當前是主數據庫,且主從數據庫正常的時候,千萬不能用這種方式刪除**。
                  <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>

                              哎呀哎呀视频在线观看