配置演示:
测试环境:
主节点:192.168.0.196
从节点:192.168.0.198
mysql版本:mysql-5.5.17
linux:centos6.5
主节点
1、编辑主节点配置文件
添加:log-bin = mysql-bin
添加 :server-id =1
添加:innodb-file-per-table =ON
添加:skip_name_resolve=ON //跳过主机解析,提高访问性能
2:查看日志信息
3、查看主节点二进制日志列表
4、查看主节点的server id
5、在主节点上创建有复制权限的用户。REPLIACTION SLAVE ,REOPLIATION CLIENT
6:刷新flush privileges;
从节点
1、配置文件中开启中继日志
添加: relay-log=relay-log
relay-log-index=relay-log.index
server-id=2
innodb_file_per_table=ON
skip_name_resolve=ON
2、查看从节点日志信息
3、查看server 相关信息
CHANGE MASTER TO MASTER_HOST=‘192.168.0.196’,MASTER_USER=‘repluser’,MASTER_PASSWORD=‘123456’, MASTER_LOG_FILE=‘mysql-bin.000009’,MASTER_LOG_POS=126;
4、查看从节点的状态信息
5、启动复制线程
START SLAVE
show slave status\G // 查看从节点状态
配置完开始测试
1、在主节点创建数据库,并查看主节点二进制日志信息
2、查看从节点状态,确定同步结果
注意事项
如何保证主从复制时的事物安全
主节点:
sync_binlog=1 // binlog实时同步
innodb_flush_log_at_trx_commit=1 // 提交时写入事务日志
innodb_support_xa=ON // 开启并发事务两段式提交
sync_master_info=1 // 同步主节点信息
从节点:
skip_slave_start =ON (跳过自动启动,使用手动启动。)
sync_relay_log =1 中继日志实时同步
sync_relay_log_info=1 // 实时同步relay_log.info日志
read_lock=1 // 只读禁止任何非root账户写入操作
注:
在从节点中 master.info是记录在主节点复制位置的文件。
relylog_info: 本地将来至于主节点的哪一个二进制文件中position并且保存文本地哪一个中继日志中的哪一个postion. 从节点启动时也需要根据relay-log.info定位本地relay-log.
原文连接:https://blog.csdn.net/daicooper/article/details/79905660?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163936366116780261920364%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=163936366116780261920364&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-3-79905660.first_rank_v2_pc_rank_v29&utm_term=mysql%E4%B8%BB%E4%BB%8E&spm=1018.2226.3001.4187
mysql常用操作:
show global variables like “%read_only%”;
锁表/解锁表
flush tables with read lock;
unlock tables;
设置只读/解除只读
set global read_only=1;
set global read_only=0;
// 查看锁情况
show global variables like ‘%lock%