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集群参考

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