亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

【Mysql】mysql公開課之-mysql5.7復制特性

發布時間:2020-08-10 13:12:03 來源:ITPUB博客 閱讀:209 作者:小亮520cl 欄目:MySQL數據庫

GTID的基礎知識

  1. BEGIN;
    INSERT INTO innodb_tbl(…);
    INSERT INTO myisam_tbl(…);
    COMMIT;

  • 在事務中使用臨時表
  • BEGIN;
    INSERT INTO innodb_tbl(…);
    CREATE TEMPORARY TABLE temp1;
    ...
    COMMIT;



  • 小技巧
    1. 啟用GTID前,檢測系統中是否有GTID不支持的語句/事務,提前處理。
       全局系統變量enforce-gtid-consistency
       OFF 不檢測是否有GTID不支持的語句/事務
       WARN 當發現不支持的語句/事務時,返回警告,并在日志中記錄警告信息。
       ON 當發現語句/事務不支持GTID時,返回錯誤。                     ----所以上面報錯了
       在線上的數據庫服務器或測試環境中,開啟WARN模式。
    2. +---------+------+---------------------------------------------------------------+
      | Level | Code | Message |
      +---------+------+---------------------------------------------------------------+
      | Warning | 1786 | Statement violates GTID consistency: CREATE TABLE ... SELECT. |
      +---------+------+---------------------------------------------------------------+
      2016-07-11T10:48:34.627976Z 2 [Warning] Statement violates GTID consistency: CREATE TABLE ... SELECT.

      處理完GTID不支持的語句后,再啟用GTID。

    在線升級h為gtid可以參考這篇文章
    1. 連接:
    2. http://blog.itpub.net/29096438/viewspace-2060975/



    Mysql5.7多線程并發復制
    1. 基本搭建過程可參如下文檔:
    2. http://www.innomysql.com/article/16317.html
    3. http://www.innomysql.com/innosqlmysql并行復制的實現與配置/

    4. mysql5.6多線程復制:基于datababase/schema的
    5. mysql5.7多線程復制:繼承5.6的同時,基于事務執行的邏輯時鐘(Logical Clock)的并發(5.7以來)

    6. 具體區別如下:
       兩種類型的并發
         基于庫(Database/Schema)的并發(5.6以來)
           Binlog中記錄語句使用的所有的庫的名字。
           不同庫上的事務可以并發執行,同庫的事務順序執行。
         基于事務執行的邏輯時鐘(Logical Clock)的并發(5.7以來)。
           Binlog中記錄事務執行時的相對順序信息。
           基本原理是鎖的沖突檢測,因此也叫基于鎖的并發機制。


      基于鎖的并發復制的原理
      待續。。。。



    7. 在線快速切換為并發復制:
      1. mysql> STOP SLAVE SQL_THREAD;
      2. mysql> SET GLOBAL slave_parallel_workers = 8; #并發線程數量
      3. mysql> SET GLOBAL slave_parallel_type = “ LOGICAL_CLOCK” ; #or DATABASE      
      4. mysql> START SLAVE SQL_THREAD
       注意:如果主5.6 從5.7使用LOGICAL_CLOCK的模式可能會出現如下類型錯誤
      1. Last_Errno: 1756

      2. Last_Error: … The slave coordinator and worker threads are stopped, possibly leaving data in inconsistent state. A restart should restore consistency automatically, although using non-transactional storage for data or info tables or DDL queries could lead to problems. In such cases you have to examine your data (see documentation for details).
      3. 參考文檔:http://imysql.com/2016/06/02/mysql-faq-5-6-to-5-7-replicaton-failure.shtml




    MySQL-5.7的半同步復制

    1. 先了解一下什么是半同步,什么是同步,什么是異步

    2. 同步復制:  直到所有的slave都commit了事務之后,此時才返回信息給客戶端;缺點:完成一個事務的延遲可能很大

    3. 半同步復制:
    4.            5.7無損半同步:master在收到slave的應答之后才commit事務    更多詳細信息可參考文檔:http://mp.weixin.qq.com/s?__biz=MzIwNzEzNDkxNQ==&mid=400915320&idx=1&sn=58dcc499cbcedcd827002acd77c30d60&scene=4#wechat_redirect
    5.            5.6半同步:master在commit之后才等待salve的應答

    6. 異步復制:  Master將事件寫入binlog,但并不知道Slave是否或何時已經接收且已處理。在異步復制的機制的情況下,如果Master宕機,事務在Master上已提交,但很可能這些事務沒有傳到任何的Slave上。假設有Master->Salve故障轉移的機制,此時Slave也可能會丟失事務



    向AI問一下細節
    推薦閱讀:
    1. mysql5.7 主從復制
    2. mysql5.7新特性

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

    猜你喜歡

    AI

    社旗县| 琼结县| 通州市| 高青县| 鄄城县| 二连浩特市| 承德县| 甘肃省| 龙岩市| 乌什县| 天台县| 西和县| 磴口县| 南康市| 桑植县| 若尔盖县| 儋州市| 桂林市| 新疆| 武鸣县| 四川省| 陵水| 都兰县| 鄂尔多斯市| 衡阳市| 许昌市| 项城市| 三明市| 邓州市| 高清| 大姚县| 安岳县| 平泉县| 桃江县| 台湾省| 德庆县| 南京市| 西充县| 崇文区| 会东县| 措勤县|