复制延迟mysql
能够利用同步复制机制(Semi-sync)解决,可是影响性能,当主机写入时,确认更新已经同步到备机以后,再返回写操做成功。
主从架构是一种高可用的解决方案,并非处理高并发的,处理高并发可利用redis缓存来解决。redis
从一个mysql instance(master)复制到另外一个mysql instance(slave)的过程咱们称之为mysql主从复制。在mysql复制的过程当中,主要由3个线程完成sql线程和IO线程在slave,另外一个IO线程在matser。sql
mysql复制的基本过程以下:数据库
系统环境:centos7 MySQL版本:5.7.17 主服务器(master)IP:192.168.20.101 从服务器(slave)IP:192.168.20.99
配置master服务器vim
[root] # vim /etc/my.cnf
修改以下内容:centos
server-id=101 #设置服务器惟一的id,默认是1
log-bin=mysql-bin #启用二进制日志缓存
配置slave服务器服务器
[root] # vim /etc/my.cnf
修改以下内容:架构
server-id=99 #设置服务器惟一的id,默认是1
replicate-do-db=cto #只同步cto库
slave-skip-errors=all #忽略因复制出现的全部错误并发
重启主从mysql服务
[root] # service mysqld restart
在master上给slave受权
[root] # >grant replication slave on *.* to slave@192.168.20.99 identified by "123456789";
查看master上数据库状态
[root] # >show master status;
[root] # >change master to master_host='192.168.20.101', master_user='slave', master_password=rd='123456789', master_log_file='mysql-bin.000001', master_log_pos=442;
[root] # >start slave;
[root] # >show slave status \G;
检验
主(master)
从(slave)