原理:
1:master,建立二进制日志 , 每产生语句或者磁盘变换,写进日志;
2:slave,建立relaylog日志(中继日志),分析master的binlog。
3:master,建立授权账号
4:slave,利用复制账号,来监听主服务器的日志
要求: 所有的mysql服务器都要求有一个独一无二的id server-id master 防火墙处于关闭状态。 slave建立的用户有远程连接master的权限
以下实现方法为通过虚拟机搭建centos7系统搭建完成后记录。
实现:
1、主服务器 my.cnf
1 、 server-id=131 独一无二的server-id
2 、log-bin=mysql-bin 添加二进制日志binray log
3、binlog-format=mixed 监听日志statement
2、从服务器 my.cnf
1、relay-log=mysql-bin 中继日志
3、重新启动mysql服务使配置生效:
systemctl restart mysqld
4,主服务器建立授权用户 #repl用户名 #Repl960712.密码
grant replication client,replication slave on *.* to 'repl'@'从服务器ip或者%' identified by '你想要的密码';
5,从服务器通过用户连接主服务器的msql,mysql默认不知支持远程连接 ###########如果远程连接不上请建立远程连接#######
GRANT ALL PRIVILEGES ON *.* TO 'repl'@'%' IDENTIFIED BY 'Repl960712.' WITH GRANT OPTION;
6,查看mater,状态,获取文件名以及偏移量
show mater status;
7、从服务器,给定账号切换master
change master to master_host='192.168.217.131', master_user='repl', master_password='Repl960712.', master_log_file='mysql-bin.000002', master_log_pos=154;
8、启动slave
start slave;
9、查看 slave 状态
show slave status;