keepalived mariadb 主主
场景描述
#安装数据库mariadb 主主模式 keepalived 调度
#mysql1 192.168.30.99
#mysql2 192.168.30.100
#vip 192.168.30.101
yum install mariadb-server keepalived -y
配置keepalived
global_defs {
router_id mysql-ha
}
vrrp_instance VI_1 {
state BACKUP # 两个节点都为BACKUP状态,根据优先级大小判断谁为MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
nopreempt # 非抢占模式
authentication {
auth_type PASS
auth_pass 1111
}
# 虚拟IP池
virtual_ipaddress {
192.168.30.101
}
}
virtual_server 192.168.30.101 3306 {
delay_loop 2
lb_algo wrr #如果调度失败 可以注释这两行
lb_kind DR #
persistence_timeout 60
protocol TCP
real_server 192.168.1.99 3306 {
weight 3
notify_down /etc/keepalived/mysql.sh # 当mysql服务down了之后,执行的脚本
TCP_CHECK {
connect_timeout 10 # mysql连接超时时长(秒)
nb_get_retry 3 # mysql服务连接失败,重试次数
delay_before_retry 3 #每隔3秒检测一次mysql服务是否可用
connect_port 3306
}
}
}
#节点二配置
global_defs {
router_id mysql-ha
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 90
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.30.101
}
}
virtual_server 192.168.30.101 3306 {
delay_loop 2
lb_algo wrr #如果调度不成功,可以将这两行注释
lb_kind DR #
persistence_timeout 60
protocol TCP
real_server 192.168.30.100 3306 {
weight 3
notify_down /etc/keepalived/mysql.sh
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}
}
配置数据库
#配置mysql主主模式
#mysql1 192.168.30.99 配置
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-bin=mysql-bin
server-id=1
symbolic-links=0
character-set-server=utf8
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid !includedir /etc/my.cnf.d service mariadb start
#创建账号用户同步
mysql -uroot -p
grant replication slave on *.* to 'backup'@'192.168.30.100' identified by 'backup'; flush privileges;
show master status;
MariaDB [(none)]> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000007 | 40989 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
#在100上配置
vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-bin=mysql-bin
server-id=2
symbolic-links=0
character-set-server=utf8
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid !includedir /etc/my.cnf.d
service mariadb start
mysql -uroot -p
change master to master_host='192.168.30.99',master_user='backup',master_password='backup',master_log_file='mysql-bin.000007',master_log_pos=40989;
show slave status \G;
#查看到Slave_IO_Running :yes 和Slave_SQL_Running yes 则说明同步成功,如果没有可以关闭防火墙和SELinux 然后重启服务器
setenforce 0
iptables -F
service mariadb restart
#设置99和100互为主从关系
#100上操作
mysql -uroot -p
grant replication slave on *.* to 'backup'@'192.168.30.99' identified by 'backup'; flush privileges;
show master status;
MariaDB [(none)]> show master status ;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000009 | 245 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
change master to master_host='192.168.30.100',master_user='backup',master_password='backup',master_log_file='mysql-bin.000009',master_log_pos=245;
show slave status \G;
如果同步不成功 可以重启mariadb试试
然后在99 上面创建数据表 测试
重启服务
service mariadb restart
service keepalived restart
keepalived mariadb 主主的更多相关文章
- MySQL 高可用性—keepalived+mysql双主(有详细步骤和全部配置项解释)
博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 前言:生产环境中一台mysql主机存在单 ...
- Keepalived + Mysql 主主复制高可用
环境 系统:Centos 7.4 x64 服务:Mariadb 5.5 .Keepalived 1.3.5.6 结构 主1:192.168.1.108 主2:192.168.1.109 VIP:19 ...
- MySQL+Keepalived实现主主高可用方案
Mysql主主高可用方案 master配置 [root@master ~]# yum -y install keepalived [root@master ~]# vim /etc/keepalive ...
- MySQL/MariaDB数据库的主主复制
MySQL/MariaDB数据库的主主复制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.主主复制概述 1>.什么是主主复制 所谓的主主复制,说白了就是两台节点互为 ...
- [转帖]【MySQL+keepalived】用keepalived实现MySQL主主模式的高可用
[MySQL+keepalived]用keepalived实现MySQL主主模式的高可用 https://www.jianshu.com/p/8694d07595bc 一.实验说明 MySQL主主模式 ...
- KeepAlived主备/主主模型高可用Nginx
部署准备: 两台CentOS 7主机HA1和HA2 CentOS 7 基于rpm包安装Nginx: 由于Base源中没有Nginx,所以要安装EPEL源,命令如下: wget http://dl.fe ...
- Nginx+keepalived双机热备(主主模式)
之前已经介绍了Nginx+Keepalived双机热备的主从模式,今天在此基础上说下主主模式的配置. 由之前的配置信息可知:master机器(master-node):103.110.98.14/19 ...
- mysql 主主复制(双主复制)+ 配置KEEPALIVED实现热备
binlog-do-db和replicate-do-db表示需要同步的数据库 binlog-ignore-db和replicate-ignore-db表示不需要同步的数据库 云端服务器为master配 ...
- Nginx+Keepalived主主负载均衡服务器
Nginx+keepalived主主负载均衡服务器测试实验环境: 主Nginx之一:192.168.11.27主Nginx之二:192.168.11.28Web服务器一:192.168.11.37We ...
随机推荐
- C# 显示问题
- Pyqt5 获取命令行参数sys.argv
大家有没有注意到,很多软件都能接收第三方应用触发命令行参数,根据参数打开想要的效果. 在windows任务管理器调取命令行列,我们同样能看到进程中有好多是带有参数的. 现在,我们用Pyqt5 (Py3 ...
- 剪短的python数据结构和算法的书《Data Structures and Algorithms Using Python》
按书上练习完,就可以知道日常的用处啦 #!/usr/bin/env python # -*- coding: utf-8 -*- # learn <<Problem Solving wit ...
- 【转】Linux下进程/程序网络带宽占用情况查看工具 -- NetHogs
http://www.cnblogs.com/carbon3/p/5930803.html 之前VPS侦探曾经介绍过流量带宽相关的工具如:iftop.vnstat,这几个都是统计和监控网卡流量的.但是 ...
- JAVA Day8
1. 引用数据类型需要new 2. 字符串使用的3种方式 String s = "hello world"; String s = new String(); String s = ...
- cve-2015-5122漏洞分析
HackTem爆出的第二枚0day,分析了下,做个记录. Poc中一开始会分配一个Array类型的_ar结构. 第一次赋值 此时在a[0 ] –a[1e-1] 处已被赋值为Vector.<uin ...
- Linux学习笔记(2)-开机
今天开始学习Linux系统. 打开虚拟机,输入密码后,令人激动的画面就蹦出来了-- Ubuntu的主要基调是橙色,给人一种蠢萌蠢萌的感觉,和Windows不同,它只在左边有一条任务栏,上面有些东西,搜 ...
- Light oj1031 Easy Game (区间dp)
题目链接:http://vjudge.net/contest/140891#problem/F A和B都足够聪明,只有我傻,想了好久才把代码和题意对应上[大哭] 代码: #include<ios ...
- 首师大附中互测题:LJX的校园:入学典礼【C003】
[C003]LJX的校园:入学典礼[难度C]—————————————————————————————————————————————————————————————————————————————— ...
- Linux Mysql 忘记用户密码
1.停止mysql 服务 /etc/init.d/mysqld stop 2.启动mysql服务跳过授权表并在后台运行 /etc/init.d/mysqld start -u root --sk ...