使用
主库只执行写操作从库只执行读操作可以配置多台从库,同步一台主库的数据,使用lvs负载均衡,负载多台从库
原理
mysql主从复制是一个异步的过程,整个过程需要开启3个线程,主库需要开启bin-log日志
1. slave开启i/o线程来请求master,请求bin-log中指定position之后的内容返回给slave 2. master收到请求后,响应slave的请求,将内容返回给slave 3. slave开启线程将接受到的内容存入到自己的relay-log中继日志中 4. slave端的SQL线程实时监测relay-log中继日志,有更新后将日志中的内容转化为SQL语句在自身的库中执行
常见问题分析及解决
主从搭建完成,两个线程没有显示yes 原因及解决方案: (1)登录主库的slave用户无法登陆,可以在主库尝试手动账号密码登录主库 (2)系统的防火墙未关闭:systemctl stop firewalld (3)系统的selinux未关闭:setenforce 0主从架构搭建成功,突然不同步了 原因及解决方案: 主库: (1)主库连接数太多:show ariables like ‘%max%’; (2)主库慢查询太多:开启慢查询日志,定位到慢查询语句 从库: (1)主库更新特殊字符,从库更新特殊字符报错,卡住:停掉slave,跳过这一步 (2)最后实在无法解决,reset slave,重新搭建主从复制