数据库主主同步配置:
1. 修改配置文件
配置文件路径:/etc/my.cnf
在mysqld下新增如下配置(黄色部分需要手动修改):
[mysqld]
log-bin=mysql-bin
binlog_format=mixed
#两台主机server-id需要保证唯一
server-id=1
relay-log=mysql-relay
slave_skip_errors=1062,1053,1032
replicate-ignore-table =fastmeeting.t_devinfo
replicate-ignore-table =fastmeeting.t_devinfo_ui
replicate-ignore-table =fastmeeting.t_gateway_route
replicate-ignore-table =fastmeeting.t_licenseinfo
replicate-ignore-table =fastmeeting.t_nodeinfo
replicate-ignore-table =fastmeeting.t_roomroute
replicate-ignore-table =fastmeeting.t_serviceinfo
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
auto_increment_increment=2
#两台主机分别配置1或2
auto_increment_offset=1
2. 重启动数据库
systemctl restart mysql
测试过程中貌似要执行2次上述命令,mysql才会执行成功,配置的时候需要注意mysql是否成功重启了 重启前后通过 ps -ef |grep mysql 查看进程id 确保重启成功
3. 配置数据库
分别登录两台数据库进行操作
mysql -u admin -pFsEntMeeting.com
/*暂停从,两台都需要执行*/
stop slave;
查询A数据库NodeID,NodeName信息:
use fastmeeting;
select NodeID,NodeName from t_nodeinfo;
修改B数据库数据:
/*将B数据库nodeinfo表的nodeid,nodename修改成跟A数据库相同*/
update t_nodeinfo set NodeID = 743540, NodeName = 743540;
/*将B数据库userinfo表nodeid修改成跟A数据库相同*/
update t_userinfo set nodeid = 743540;
/*将B数据库departinfo表nodeid修改成跟A数据库相同*/
update t_departinfo set nodeid = 743540;
/*配置slave访问master的用户的ip权限,A、B数据库都需要配置*/
grant replication slave on *.* to admin@192.168.5.173 identified by ‘FsEntMeeting.com’;
设置正确的同步位置,数据库A/B都需要配置对方的信息:
#查看日志文件名和位置点
show master status;
#然后在本数据上执行(设置的信息都是对端的):
change master to master_host=’192.168.5.179′, master_port=3308, master_user=’admin’, master_password=’FsEntMeeting.com’, master_log_file=’mysql-bin.000001′, master_log_pos=351001;
/*开始同步*/
start slave;
/*查看同步状态,Slave_IO_Running和Slave_SQL_Running 均为YES表示同步配置成功*/
show slave status \G;
安装keepalived和 inotify-tools +rsync
1,进入安装包,直接执行 sh install.sh 提示输入peer ip adress为对方备机的ip地址:
keepalived :
1. 配置修改
配置文件:/etc/keepalived/keepalived.conf
global_defs {
router_id node1 ##保持唯一
script_user root
enable_script_security
}
vrrp_script check_fmserver {
script “/usr/local/hst/script/hot_standby/check_fmserver.sh”
interval 1
weight -20
}
vrrp_instance VI_1 {
state BACKUP
interface eth0 ## 注意网卡信息
virtual_router_id 173 ##两台机器保持一致
priority 95
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.5.225/24 ##设置虚拟浮动ip地址,两台设置成一样
}
track_script {
check_fmserver
}
}
备注:黄色部分需要手动修改或确认,两台机器的router_id保持唯一,virtual_router_id需要一致,优先级设置成不同
2.重启程序
pkill keepalived
/usr/local/sbin/keepalived
启动成功 如下打印
部署inotify-tools + rsync:
1. 双机ssh免密登录配置
分别在两台主机上生成秘钥,然后将公钥发送到对方主机:
ssh-keygen -t rsa
一直回车
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.6.50
提示输入密码,输入192.168.6.50的用户密码即可
测试是否正常互通,在两台主机上分别ssh对端主机,不需要输入密码即配置免密成功
ssh root@192.168.5.179
2. 定时任务运行情况检查
两分钟后检查文件同步脚本是否已经被拉起来:
ps -ef | grep sync_
检查keepalived是否启动(没有启动检查配置是否正确,日志路径:/var/log/message):
ps -ef | grep keepalived
注意事项:
1,使用时,需在后台将配置中心的地址映射成虚拟ip地址
访问后台通过虚拟ip地址进行访问 ip:8080
- 客户端登陆设置服务器地址,需设置成虚拟ip地址
安装文件:点击下载
暂无评论内容