MariaDB-5.5.56 主主复制+keepalived高可用
mariadb主主复制+keepalived高可用
主机1:192.168.1.22
主机2: 192.168.1.23
VIP1:192.168.1.233
VIP2: 192.168.1.234
主机1设置:
安装需要用到的rpm包
yum -y install ipvsadm keepalived mariadb mariadb-server
启动mariadb并设置为开机启动
systemctl start mariadb
systemctl enable mariadb
设置密码
mysql_secure_installation
回车以后提示:
enter current password for root (enter for none): ## 如果是初次运行直接回车,因为没有密码
set root password?[Y/n] ##是否设置root用户密码,输入y回车
new password: ##设置root用户密码
re-enter new password: ##国际惯例再输入一次密码
remove anonymous users?[Y/n] ##是否删除匿名用户
disallow root login remotely?[Y/n] ##是否禁止root用户远程登录
remove test database and access to it?[Y/n] ## 是否删除test数据库
reload privilege tables now?[Y/n] ## 是否重新加载权限表
测试登录
mysql -uroot -p 密码
修改配置文件
vim /etc/my.cnf
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-bin=mysql-bin #手动添加该项配置 二进制文件的前缀
log-slave-updates=true #手动添加该项配置 开启从日志
relay-log=relay-log-bin #手动添加该项配置 中继日志文件的前缀
relay-log-index=slave-relay-bin.index #手动添加该项配置 定义中继日志的名称
server-id=11 #手动添加该项配置 ID号唯一,不能重复
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
!includedir /etc/my.cnf.d
保存退出,重启mariadb
systemctl restart mariadb
写监测脚本
vim /opt/chk_mysql.sh
#!/bin/bash
#check mysqld server status
mysqlpid=$(ps -C mysqld --no-header | wc -l)
if [ $mysqlpid -eq 0 ];then
systemctl start mariadb
sleep 3
mysqlpid=$(ps -C mysqld --no-header | wc -l)
if [ $mysqlpid -eq 0 ];then
systemctl stop keepalived
echo "Keepalived服务关闭,请检查你的mariadb服务!" | tee -a /var/log/messages
fi
fi
保存退出
修改keepalived配置文件
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
xing5759@163.com
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id MYSQL_mariadb
}
vrrp_script chk_mysql {
script /opt/chk_mysql.sh #指定脚本位置
interval 2 #2秒检查一次
weight -10 # 权重 -10
}
vrrp_instance VI_1 {
state MASTER
interface ens32
virtual_router_id 51 # VI_1里的 ID 号和从里的VI_1的ID是一致的
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_mysql #重新指向vrrp_script
}
virtual_ipaddress {
192.168.1.233 #VIP
}
}
vrrp_instance VI_2 {
state MASTER
interface ens32
virtual_router_id 52 #区别VI_1的ID
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_mysql
}
virtual_ipaddress {
192.168.1.234
}
}
主机2配置:
安装需要用到的rpm包
yum -y install ipvsadm keepalived mariadb mariadb-server
启动mariadb并设置为开机启动
systemctl start mariadb
systemctl enable mariadb
设置密码
mysql_secure_installation
回车以后提示:
enter current password for root (enter for none): ## 如果是初次运行直接回车,因为没有密码
set root password?[Y/n] ##是否设置root用户密码,输入y回车
new password: ##设置root用户密码
re-enter new password: ##国际惯例再输入一次密码
remove anonymous users?[Y/n] ##是否删除匿名用户
disallow root login remotely?[Y/n] ##是否禁止root用户远程登录
remove test database and access to it?[Y/n] ## 是否删除test数据库
reload privilege tables now?[Y/n] ## 是否重新加载权限表
测试登录
mysql -uroot -p 密码
修改配置文件
vim /etc/my.cnf
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-bin=mysql-bin #手动添加该项配置 二进制文件的前缀
log-slave-updates=true #手动添加该项配置 开启从日志
relay-log=relay-log-bin #手动添加该项配置 中继日志文件的前缀
relay-log-index=slave-relay-bin.index #手动添加该项配置 定义中继日志的名称
server-id=12 #手动添加该项配置 ID号唯一,不能重复
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
!includedir /etc/my.cnf.d
保存退出,重启mariadb
systemctl restart mariadb
写监测脚本
vim /opt/chk_mysql.sh
#!/bin/bash
#check mysqld server status
mysqlpid=$(ps -C mysqld --no-header | wc -l)
if [ $mysqlpid -eq 0 ];then
systemctl start mariadb
sleep 3
mysqlpid=$(ps -C mysqld --no-header | wc -l)
if [ $mysqlpid -eq 0 ];then
systemctl stop keepalived
echo "Keepalived服务关闭,请检查你的mariadb服务!" | tee -a /var/log/messages
fi
fi
保存退出
修改keepalived配置文件
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
xing5759@163.com
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id MYSQL_mariadb
}
vrrp_script chk_mysql {
script /opt/chk_mysql.sh #指定脚本位置
interval 2 #2秒检查一次
weight -10 # 权重 -10
}
vrrp_instance VI_1 {
state MASTER
interface ens32
virtual_router_id 51 # VI_1里的 ID 号和从里的VI_1的ID是一致的
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_mysql #重新指向vrrp_script
}
virtual_ipaddress {
192.168.1.233 #VIP
}
}
vrrp_instance VI_2 {
state MASTER
interface ens32
virtual_router_id 52 #区别VI_1的ID
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_mysql
}
virtual_ipaddress {
192.168.1.234
}
}
配置互为主从复制:
首先是主机1:
给从服务器授权:
mysql -uroot -p123123
grant replication slave on *.* to ‘myslave’@’192.168.1.%’ identified by ‘123123’;
flush privileges;
show master status; #记住file的文件名 和position的id号
进入主机2
mysql -uroot -p123123
change master to master_host=’192.168.1.22’,master_user=’myslave’,master_password=’123123’,master_log_file=’mysql-bin.000004’,master_log_pos=’475’; #这里写上主机1上显示的file的文件名和id号
start slave;
show slave status \G;
主机2:
给从服务器授权:
mysql -uroot -p123123
grant replication slave on *.* to ‘myslave’@’192.168.1.%’ identified by ‘123123’;
flush privileges;
show master status; #记住file的文件名 和position的id号
进入主机1
mysql -uroot -p123123
change master to master_host=’192.168.1.23’,master_user=’myslave’,master_password=’123123’,master_log_file=’mysql-bin.000004’,master_log_pos=’475’; #这里写上主机1上显示的file的文件名和id号
start slave;
show slave status \G;
配置完成
转载于:https://www.cnblogs.com/liuYGoo/p/9451305.html
MariaDB-5.5.56 主主复制+keepalived高可用相关推荐
- linux 双mysql_MySQL双主互备+Keepalived高可用架构实现案例
一.环境介绍 1.1.规划 序号 类别 版本 主机名 IP 端口 备注 1 OS CentOS release 6.9 (Final) (minimal) my1 172.16.210.180 830 ...
- Memcached主主复制+Keepalived高可用架构
实验报告 第一.实验环境: 第二.实验步骤: 配置memcached主缓存节点和从缓存节点-----两台配置相同 解包: tar xf memcached-1.5.6.tar.gz -C /opt/ ...
- mysql+keepalived必须要lvs吗_MySQL 双主热备 + LVS + Keepalived 高可用操作记录
MySQL复制能够保证数据的冗余的同时可以做读写分离来分担系统压力,如果是主主复制还可以很好的避免主节点的单点故障.然而MySQL主主复制存在一些问题无法满足我们的实际需要:未提供统一访问入口来实现负 ...
- keepalived高可用lvs集群,主/备和主/主模型
利用keepalived高可用lvs集群,主/备和主/主: vrrp_script高可用双主nginx: keepalived主备:lvs-dr工作模型 网络搭建: 在前端2台调度器: DR1:172 ...
- mysql 双主 脑裂_MySQL高可用方案——双主
MySQL高可用方案--双主 发布时间:2020-03-01 20:45:48 来源:51CTO 阅读:253 作者:warrent MySQL的高可用方案有很多种,双主.MHA.MMM等等,这里只是 ...
- keepalived高可用集群实战项目
keepalived高可用集群实战项目 需要准备17台虚拟机 目录 客户端 路由器 powerDNS 防火墙 时间同步服务器 keepalived + LVS集群实现web服务高可用 配置web_A与 ...
- Keepalived高可用集群来实现web服务器负载均衡集群
Keepalived高可用集群来实现web服务器负载均衡集群 一.Keepalived的介绍 Keepalived是一个提供HA重要的底层工具,最早期的作用是为ipvs提供HA功能的,还是一个可以提供 ...
- Nginx反向代理,负载均衡,redis session共享,keepalived高可用
本站点停止更新,请访问:blog.coocap.com 相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tom ...
- linux lnmp分布式集群,LNMP 分布式集群(六):keepalived 高可用方案
前言 LNMP 分布式集群的部署实践 系列文章: 衡量一个集群的高可用性在于没有单点故障,即其中任何一台服务器宕机都不会造成整个服务中断. 之前的LNMP分布式集群的实践中,显然在将Nginx作为负载 ...
最新文章
- error: stray '\343' in program 问题解决
- 中兴通讯 基于定位的技术和市场分析
- docker 完成 redis集群搭建
- abb机器人searchl报错_西门子PLC1200与ABB机器人通信
- JSP---网页日历
- HDU-简易版之最短距离(最短路)
- 为什么电商越来越难做了?
- typora工具的使用方法-一款非常适合程序员的工具
- 解决SVN403问题
- Labview完全卸载工具msiblast NI
- python数据与挖掘实战学习:实战篇 第七章航空公司客户价值分析笔记
- 将外国文献翻译成中文
- 洛谷 P1957 口算练习题 题解 字符串 C/C++
- arm linux内核启动过程,ARM64的启动过程之(一):内核第一个脚印
- 程序“[4176] char.exe: 本机”已退出,返回值为 0 (0x0)
- HDOJ 2010 水仙花数
- 秦汉三国政治史:东汉宰相制度
- 中国地图 echarts china.js 无乱码
- 球半篮球分析,NBA总决赛第四场:顿凯尔特人VS勇士
- 豆瓣FM产品分析 | 纯粹极简的听歌APP