如何搭建数据库主从同步(一主一丛)
要使主库和从库的数据一致,要不然从库同步的只是开启从库后的数据(不一致可以做一个完全备份)
主库:
1.开启binlog日志
2.指定server_id(主和从的不能一致)
3.重启服务
systemctl restart mysqld
4.进数据库,授权一个用户
grant replication slave on . to repluser@"%" identified by “123qqq…A”;
从库:
1.指定server_id
2.重启服务
systemctl restart mysqld
3.进库,指定主服务器
change master to //指定主服务器
master_host=“192.168.4.51”, //主服务器ip地址
master_user=“repluser”, //主服务器授权用户
master_password=“123qqq…A”, //主服务器授权用户密码
master_log_file=“master51-bin.000001”,//主服务器日志文件
master_log_pos=441; //主服务器日志偏移量
4.启动从服务器
start slave
5.查看IO和SQL线程是不是yes
show slave status\G;
常见错误:
1.Slave_IO_Running: Connecting
Last_IO_Error: error connecting to master ‘repluser@192.168.4.51:3306’ - retry-time: 60
根据报错信息得知授权用户和指定的对不上
2.SQL线程是No,原因是指定主服务器命令错了,如果要重新打指定主服务器的命令先要stop slave ,再打命令,最后start slave
MHA集群
MHA工作原理:
由Manger(管理主机)定时检测集群中的主节点
当主节点故障时,Manger自动将拥有最新数据的从提升为新的主
配置MHA集群
一、环境准备
1.安装依赖包(perl的依赖包)
2.配置ssh秘钥对登录(管理主机无密码登录所有数据库服务器,数据库服务器批次之间可以互相无密码登录)
ssh-keygen 创建密钥对
ssh-copy-id 拷贝公钥给目标服务器
3.配置一主多从
二、配置管理节点
安装软件包
修改配置文件
创建故障切换脚本
部署VIP
三、配置数据节点
四、测试配置