mysql主从复制用途:实时灾备,用于故障切换,读写分离,提供查询服务,备份,避免影响业务
主从部署必要条件:主库开启binlog日志(设置log-bin参数),主从server-id不同,从库服务器能连通主库
测试环境:
主节点:192.168.211.135 从节点:192.168.211.136 5.5.60-MariaDB CentOS 7.3
主服务器(192.168.211.135):
1.编辑主节点配置文件:
vim /etc/my.cnf.d/server.cnf
在[mysqld]下添加:
log-bin=mysql-bin
server-id=1
innodb-file-per-table=ON
skip_name_resolve=ON
2.启动mysql服务,并连接mysql
3.查看日志信息
(1)查看二进制日志是否开启: show global variables like '%log%';
(2)查看主节点二进制列表:show master logs;
(3)查看主节点的server-id:show global variables like '%server%';
4.在主节点上创建具有复制权限的用户:
grant replication slave,replication client on *.* to 'repluser'@'192.168.211.136' identified by 'replpass';
5.刷新:flush privileges;
主服务器配置完成,*记得要开放3306端口,或关闭防火墙与selinux!
从服务器(192.168.211.136):
1.编辑从节点的配置文件:vim /etc/my.cnf.d/server.cnf
relay-log-index=relay-log.index
(1)查看中继日志是否开启:show global variables like '%log%';
(2)查看server-id相关信息:showglobal variables like "%server%";
4.在从节点配置访问主节点的参数信息
添加 主节点主机,访问主节点的用户名及密码,主节点二进制文件信息。
注意:主节点的二进制文件一定要是二进制列表中的最后一个二进制文件。
从节点配置:
change master to master_host='192.168.211.135',master_user='repluser',master_password='replpass',master_log_file='mysql-bin.000001',master_log_pos=669;
5.查看从节点的状态信息:showslave status\G;
6.启动复制线程:start slave;