变态重口极致另类在线-波多久久夜色精品国产-波多野结衣在线观看一区-波多野结衣在线观看一区二区-污污的网站免费阅读-污污视频网址

東坡下載:內(nèi)容最豐富最安全的下載站!

首頁IT技術(shù)軟件教程 → MariaDB主從復(fù)制及半同步復(fù)制

MariaDB主從復(fù)制及半同步復(fù)制

相關(guān)文章發(fā)表評論 來源:百度搜索時間:2018/5/30 12:20:54字體大小:A-A+

更多

作者:專題點擊:48次評論:0次標簽: MariaDB

主從復(fù)制:
從服務(wù)器:
I/O線程:從master請求二進制日志信息,并保存至中繼日志;
SQL線程:從relay log中讀取日志信息,在本地完成重放;

    異步模式:async
        1、從服務(wù)器落后于主服務(wù)器;
        2、主從數(shù)據(jù)不一致;

    二進制日志的格式:SET datetime = now()
        1、基于行
        2、基于語句
        3、混合

配置過程:
    1、master
        (1) 啟用二進制日志;
        my.cnf----> log_bin=log_bin.log
        (2) 設(shè)置一個在當前集群中惟一的server-id;
        my.cnf----> server_id=1
        (3) 創(chuàng)建一個有復(fù)制權(quán)限(REPLICATION SLAVE, REPLICATION CLIENT)賬號;
      MariaDB>GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'slave'@'192.168.20.%' identified by 'PASSWORD';
        (4)查看Master日志信息,記錄,復(fù)制時使用
        MariaDB>SHOW MASTER STATUS;
    +----------------+----------+--------------+------------------+
    | File                      | Position     | Binlog_Do_DB | Binlog_Ignore_DB |
    +----------------+----------+--------------+------------------+
    | log_bin.000014 | 30155002 |              |                  |
    +----------------+----------+--------------+------------------+

    2、slave
        (1) 啟用中繼日志;
        my.cnf---->relay_log=relay-bin
        (2) 設(shè)置一個在當前集群中惟一的server-id;
        my.cnf----> server_id=2
        (3) 使用有復(fù)制權(quán)限用戶賬號連接至主服務(wù)器,并啟動復(fù)制線程;
        MariaDB>CHANGE MASTER TO MASTER_HOST='192.168.20.1', MASTER_USER='slave', MASTER_PASSWORD='PASSWORD', MASTER_LOG_FILE='log_bin.0000014', MASTER_LOG_POS=30155002, MASTER_CONNECT_RETRY=5
        MariaDB>START SLAVE;
        (4)查看Slave復(fù)制狀態(tài)
        MariaDB>SHOW SLAVE STATUS\G

     一主多從,一從一主;服務(wù)器程序版本最好相同

總結(jié):
    master: binlog dump 
    slave: IO thread, SQL thread 

    slave: 如果連接至主服務(wù)器:
        CHANGE MASTER TO option [, option] ...

        option:
        MASTER_BIND = 'interface_name'
        | MASTER_HOST = 'host_name'     主服務(wù)器地址
        | MASTER_USER = 'user_name'     有復(fù)制權(quán)限的用戶名
        | MASTER_PASSWORD = 'password'   用戶密碼
        | MASTER_PORT = port_num         主服務(wù)器的端口
        | MASTER_CONNECT_RETRY = interval    連接重試時間間隔
        | MASTER_HEARTBEAT_PERIOD = interval    心跳檢測時間間隔
        | MASTER_LOG_FILE = 'master_log_name'    主服務(wù)器二進制日志文件
        | MASTER_LOG_POS = master_log_pos          二進制日志文件中的位置
        | RELAY_LOG_FILE = 'relay_log_name'           
        | RELAY_LOG_POS = relay_log_pos
        | MASTER_SSL = {0|1}
        | MASTER_SSL_CA = 'ca_file_name'
        | MASTER_SSL_CAPATH = 'ca_directory_name'
        | MASTER_SSL_CERT = 'cert_file_name'
        | MASTER_SSL_KEY = 'key_file_name'
        | MASTER_SSL_CIPHER = 'cipher_list'
        | MASTER_SSL_VERIFY_SERVER_CERT = {0|1}
        | IGNORE_SERVER_IDS = (server_id_list)

主主:
    互為主從:
        1、數(shù)據(jù)不一致; 
        2、自動增長id
            定義一個節(jié)點使用奇數(shù)id
                auto_increment_offset=1
                auto_increment_increment=2
            定義另一個節(jié)點使用偶數(shù)id
                auto_increment_offset=2
                auto_increment_increment=2

        (1) 各自使用不同的server id
        (2) 都啟用binlog和relay log 
        (3) 定義自動增長的id字段的增長方式
        (4) 都授權(quán)有復(fù)制權(quán)限的用戶賬號
        (5) 各自把對方指定為主服務(wù)器

    GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'slave'@'192.168.20.%' IDENTIFIED BY 'PASSWORD';

復(fù)制如何開始?
    主節(jié)點運行很長時間,且已經(jīng)有一定規(guī)模的數(shù)據(jù),如何啟動復(fù)制?

    在主節(jié)點做一個完全備份,并記錄二進制日志文件及位置;
    在從節(jié)點恢復(fù)此完全備份,并在啟動復(fù)制時從記錄的二進制日志文件和位置開始;

復(fù)制時應(yīng)該注意的問題:
    1、如何限制從服務(wù)器只讀?
        在從服務(wù)器啟動read_only;但僅對非具有SUPER權(quán)限的用戶有效;

            阻止所有用戶 :MariaDB> FLUSH TABLES WITH READ LOCK;

    2、如何保證主從復(fù)制時的事務(wù)安全?
        在master節(jié)點啟用參數(shù):
            sync_binlog = on

            如果用到的為InnoDB存儲引擎:
                innodb_flush_logs_at_trx_commit
                innodb_support_xa=on

        在slave節(jié)點:
            skip_slave_start

        主節(jié)點:
            sync_master_info = 1

        從節(jié)點
            sync_relay_log = 1
            sync_relay_log_info = 1

    3、半同步復(fù)制
    主節(jié)點:
        MariaDB [(none)]> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
        Query OK, 0 rows affected (0.05 sec)            

        MariaDB [(none)]> SHOW GLOBAL VARIABLES LIKE '%semi%';
        +------------------------------------+-------+
        | Variable_name                      | Value |
        +------------------------------------+-------+
        | rpl_semi_sync_master_enabled       | OFF   |
        | rpl_semi_sync_master_timeout       | 10000 |
        | rpl_semi_sync_master_trace_level   | 32    |
        | rpl_semi_sync_master_wait_no_slave | ON    |
        +------------------------------------+-------+
        4 rows in set (0.00 sec)

        MariaDB [(none)]> SET GLOBAL rpl_semi_sync_master_enabled=1;
        Query OK, 0 rows affected (0.00 sec)

        MariaDB [(none)]> SET GLOBAL rpl_semi_sync_master_timeout=2000;
        Query OK, 0 rows affected (0.00 sec)

    從節(jié)點:
        MariaDB [(none)]> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
        Query OK, 0 rows affected (0.05 sec)

        MariaDB [(none)]> SHOW GLOBAL VARIABLES LIKE '%semi%';
        +---------------------------------+-------+
        | Variable_name                   | Value |
        +---------------------------------+-------+
        | rpl_semi_sync_slave_enabled     | OFF   |
        | rpl_semi_sync_slave_trace_level | 32    |
        +---------------------------------+-------+
        2 rows in set (0.00 sec)

        MariaDB [(none)]> SET GLOBAL rpl_semi_sync_slave_enabled=1;
        Query OK, 0 rows affected (0.00 sec)

    如果從服務(wù)器已經(jīng)啟動,還需要重啟IO_THREAD; 

4、復(fù)制過濾器
    讓slave僅復(fù)制有限的幾個數(shù)據(jù)庫,而非所有;

    有兩種實現(xiàn)思路:

    (1) 主服務(wù)器僅向二進制日志中記錄有特定數(shù)據(jù)庫相關(guān)的寫操作;
        問題:即時點還原將無法全面實現(xiàn); 

        binlog_do_db=                  # 數(shù)據(jù)庫白名單
        binlog_ignore_db=           # 數(shù)據(jù)庫黑名單

    (2)從服務(wù)器的SQL_THREAD僅在中斷日志中讀取特定數(shù)據(jù)相關(guān)的語句并應(yīng)用在本地;
        問題:會造成網(wǎng)絡(luò)帶寬和磁盤IO的浪費;

        Replicate_Do_DB=
        Replicate_Ignore_DB=
        Replicate_Do_Table=
        Replicate_Ignore_Table= 
        Replicate_Wild_Do_Table= 
        Replicate_Wild_Ignore_Table=

5、基于SSL的復(fù)制
    前提:支持SSL
    (1) 主服務(wù)器端配置證書和私鑰,并創(chuàng)建一個要求必須使用SSL連接的復(fù)制賬號(REQUIRE SSL);
    (2) SLAV端連接master時,使用MASTER_SSL相關(guān)的選項來配置證書等信息;

6、跟復(fù)制功能相關(guān)的文件:
    master.info:用于保存slave連接至master時的相關(guān)信息;
    relay-log.info:保存了當前slave節(jié)點上已經(jīng)復(fù)制的當前二進制日志和本地relay log日志對應(yīng)關(guān)系; 

7、復(fù)制的監(jiān)控和維護
    (1) 清理日志:PURGE 

    (2) 復(fù)制監(jiān)控
        SHOW MASTER STATUS
        SHOW BINLOG EVENTS
        SHOW BINARY LOGS

        SHOW SLAVE STATUS

    (3) 如何判斷slave是否落后于master        
     Seconds_Behind_Master: 0

     (4) 如何確定主從節(jié)點數(shù)據(jù)是否一致?
        通過表自身的CHECKSUM檢查
        使用percona-tools中pt-table-checksum

    (5) 數(shù)據(jù)不一致的修復(fù)方法:
        重復(fù)復(fù)制;

擴展知識

相關(guān)評論

閱讀本文后您有什么感想? 已有 人給出評價!

  • 2791 喜歡喜歡
  • 2101 頂
  • 800 難過難過
  • 1219 囧
  • 4049 圍觀圍觀
  • 5602 無聊無聊
熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)
主站蜘蛛池模板: 欧美亚洲日本国产 | 激情综合五月网 | 在线免费看a爱片 | 又粗又黄又猛又爽大片免费 | 亚洲中字 | 日本韩国一区二区 | 日韩欧美一级大片 | 天天爱天天做天天爽天天躁 | 亚洲 中文 欧美 日韩 在线 | 午夜在线网站 | 在线毛片观看 | 国产一区二区三区欧美精品 | 大片免费播放器免费观看 | 黑人巨大videos极度另类 | 就操在线 | 中国特级毛片 | 伊人网国产 | 日本中文字幕一区二区有码在线 | 极品美女aⅴ高清在线观看 极品美女丝袜被的网站 | 亚洲免费成人在线 | 波多野结衣在线观看一区二区三区 | 爆操波多野结衣 | 最近2019年免费中文字幕高清 | 最新大黄网站免费 | 日本一区二区三区四区视频 | 2021天天操 | 国产精品日本一区二区在线看 | 国产91av视频 | 天堂va在线高清一区 | 成人永久免费福利视频网站 | 插丝袜| 嗯男人边吃奶边做边爱视频 | 免费一看一级欧美 | 国产免费黄色 | 久久免费视频一区 | 成人亚洲欧美综合 | 久久亚洲成a人片 | 日本爽爽爽爽爽爽免费 | 午夜免费观看_视频在线观看 | 国产在线精品一区二区不卡 | 在线观看免费视频网站色 |