Mysql配置(4)

1.mysql分庫分表

1).分庫
    A.水平分庫(冷熱數據拆分)
    B.垂直分庫(模塊化 業務碎片化)
2).分表
    A.水平分表(套表)
        a).ID值域劃分
        b).ID取模劃分
    B.垂直分表(大表拆小表)
3).分庫分表問題
    A.跨庫join
        a).冗餘字段
        b).全局表
        c).代碼層面數據組裝
    B.跨庫事務
        a).分佈式事務【XA協議(消息事務-數據庫事務) 兩階段提交 】
        b).最終一致性【事務補償】
4).分庫分表中間件 

2.mysql主從(讀寫分離)

1).過程
    A.主將更改操作記錄記錄到binlog【log dump線程】
    B.從將主binlog事件(sql)同步到本機上並記錄在relaylog(中繼日誌)【I/O線程、SQL線程】
    C.從根據relaylog的sql按順序執行
2).配置
    A.主服務配置(conf配置a)和b))【binlog-do-db |binlog_ignore_db】
        a).log-bin=mysql-bin           //開啓二進制日誌
        b).server-id=1                 //設置server-id
        c).創建一個用於slave和master通信的用戶賬號【REPLICATION SLAVE ON】
        d).SHOW MASTER STATUS;         //獲得master二進制日誌文件名及位置
    B.從服務配置
        a).server-id=2                 //設置server-id,必須唯一
        b).CHANGE MASTER TO
            -> MASTER_HOST='host',
            -> MASTER_USER='user',
            -> MASTER_PASSWORD='pwd',
            -> MASTER_LOG_FILE='binlogName',
            -> MASTER_LOG_POS=xxx;    //使用master分配的用戶賬號讀取master二進制日誌
        c).start slave                //啓用slave服務【start、stop】
        d).SHOW SLAVE STATUS\G        //查看slave狀態【Slave_IO_Running、Slave_SQL_Running】

3.mysql集羣
分庫中間件參考
mysql集羣參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章