缺点:最后都显示俩个yes却主库执行后只能同步随机的一个库
仅完成基础内容。
理解主从复制
1、mysql主从复制原理
主要基于MySQL二进制日志 主要包括三个线程(2个I/O线程,1个SQL线 程)
(1)master服务器将数据的改变记录二进制binlog日志,当master上的数据发生改变时,则将其改变写入二进制日志中;
(2)slave服务器会在一定时间间隔内对master二进制日志进行探测其是否发生改变,如果发生改变,则开始一个I/OThread请求master二进制事件
(3)同时主节点为每个I/O线程启动一个dump线程,用于向其发送二进制事件,并保存至从节点本地的中继日志中,从节点将启动SQL线程从中继日志中读取二进制日志,在本地重放,使得其数据和主节点的保持一致,最后I/OThread和SQLThread将进入睡眠状态,等待下一次被唤醒。
通俗理解就是在主从复制过程中:
从库会生成两个线程,一个I/O线程,一个SQL线程;
I/O线程会去请求主库的binlog,并将得到的binlog写到本地的relay-log(中继日志)文件中;
主库会生成一个log dump线程,用来给从库I/O线程传binlog;
SQL线程,会读取relay log文件中的日志,并解析成sql语句逐一执行
1、如果数据库不为空,要先进行备份,在从库进行恢复。保证主从数据库一致。
2、主从服务器进行时间同步操作
3、关闭防火墙、关闭SeLinunx
4、克隆的机器最好先修改为不同的server-uuid,否则会出现错误。
sudo dmidecode -s system-uuid
时间同步;主库查询
主库有数据库,俩台从服务器无数据库
重启服务备份拷贝至从服务器
查看俩台从服务器的库同步
建立账号同步:
有rep权限
开启log_bin
开启主从开关:
出现俩个YES为配置成功
到这里主从配置完成。验证;
查询主服务器库中内容,并插入数据
从服务器可以查询到主服务器加入的内容