MySQL主从同步介绍:
角色分为2种:
数据库服务 做主master库:被客户端存储数据访问的库
数据库服务 做从slave库:同步主库的数据到本机
MySQL主从同步作用:实现数据的自动备份。
环境准备
主从同步未配置之前,要保证从库上要有主库上的数据。
禁用selinux ]# setenforce 0
关闭防火墙服务]# systemctl stop firewalld
主库配置步骤:192.168.4.51
1 启用binlog日志
2 用户授权
3 查看正在使用的binlog日志信息
vim /etc/my.cnf
[mysqld]
server_id=51
log-bin=master51
binlog-format="mixed"
plugin-load=rpl_semi_sync_master=semisync_master.so #安装模块
rpl_semi_sync_master_enabled=1 #启用半同步复制模式
[root@host51 ~]# systemctl restart mysqld
[root@host51 ~]# ls /var/lib/mysql/master51.*
mysql> grant replication slave on *.* to
repluser@"192.168.4.52" identified by "123qqq...A";
mysql> show master status;
mysql> show processlist;
查看是否可以动态加载模块
mysql> show variables like "have_dynamic_loading";
查看系统库下的表,模块是否安装成功
mysql> SELECT PLUGIN_NAME , PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE '%semi%';
从配置步骤:192.168.4.52
1 验证主库授权用户
2 指定server_id
3 指定主库信息
4 查看从库状态信息
]# mysql -h192.168.4.51 -urepluser -p123qqq...A
mysql> quit;
vim /etc/my.cnf
[mysqld]
server_id=52
log_slave_updates #级联复制
plugin-load=rpl_semi_sync_slave=semisync_slave.so #安装模块
rpl_semi_sync_slave_enabled=1 #启用半同步复制模式
]# systemctl restart mysqld
]#mysql -uroot -p123qqq...A
mysql> change master to
-> master_host="192.168.4.51", 主库IP
-> master_user="repluser", 用户名
-> master_password="123qqq...A", 密码
-> master_log_file="master51.000001", binlog日志
-> master_log_pos=452; 偏移量
mysql> start slave;
mysql> show slave statusG;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
mysql>show processlist;