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高可用相关推荐

  1. linux 双mysql_MySQL双主互备+Keepalived高可用架构实现案例

    一.环境介绍 1.1.规划 序号 类别 版本 主机名 IP 端口 备注 1 OS CentOS release 6.9 (Final) (minimal) my1 172.16.210.180 830 ...

  2. Memcached主主复制+Keepalived高可用架构

    实验报告 第一.实验环境: 第二.实验步骤: 配置memcached主缓存节点和从缓存节点-----两台配置相同 解包: tar xf memcached-1.5.6.tar.gz -C /opt/ ...

  3. mysql+keepalived必须要lvs吗_MySQL 双主热备 + LVS + Keepalived 高可用操作记录

    MySQL复制能够保证数据的冗余的同时可以做读写分离来分担系统压力,如果是主主复制还可以很好的避免主节点的单点故障.然而MySQL主主复制存在一些问题无法满足我们的实际需要:未提供统一访问入口来实现负 ...

  4. keepalived高可用lvs集群,主/备和主/主模型

    利用keepalived高可用lvs集群,主/备和主/主: vrrp_script高可用双主nginx: keepalived主备:lvs-dr工作模型 网络搭建: 在前端2台调度器: DR1:172 ...

  5. mysql 双主 脑裂_MySQL高可用方案——双主

    MySQL高可用方案--双主 发布时间:2020-03-01 20:45:48 来源:51CTO 阅读:253 作者:warrent MySQL的高可用方案有很多种,双主.MHA.MMM等等,这里只是 ...

  6. keepalived高可用集群实战项目

    keepalived高可用集群实战项目 需要准备17台虚拟机 目录 客户端 路由器 powerDNS 防火墙 时间同步服务器 keepalived + LVS集群实现web服务高可用 配置web_A与 ...

  7. Keepalived高可用集群来实现web服务器负载均衡集群

    Keepalived高可用集群来实现web服务器负载均衡集群 一.Keepalived的介绍 Keepalived是一个提供HA重要的底层工具,最早期的作用是为ipvs提供HA功能的,还是一个可以提供 ...

  8. Nginx反向代理,负载均衡,redis session共享,keepalived高可用

    本站点停止更新,请访问:blog.coocap.com 相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tom ...

  9. linux lnmp分布式集群,LNMP 分布式集群(六):keepalived 高可用方案

    前言 LNMP 分布式集群的部署实践 系列文章: 衡量一个集群的高可用性在于没有单点故障,即其中任何一台服务器宕机都不会造成整个服务中断. 之前的LNMP分布式集群的实践中,显然在将Nginx作为负载 ...

最新文章

  1. error: stray '\343' in program 问题解决
  2. 中兴通讯 基于定位的技术和市场分析
  3. docker 完成 redis集群搭建
  4. abb机器人searchl报错_西门子PLC1200与ABB机器人通信
  5. JSP---网页日历
  6. HDU-简易版之最短距离(最短路)
  7. 为什么电商越来越难做了?
  8. typora工具的使用方法-一款非常适合程序员的工具
  9. 解决SVN403问题
  10. Labview完全卸载工具msiblast NI
  11. python数据与挖掘实战学习:实战篇 第七章航空公司客户价值分析笔记
  12. 将外国文献翻译成中文
  13. 洛谷 P1957 口算练习题 题解 字符串 C/C++
  14. arm linux内核启动过程,ARM64的启动过程之(一):内核第一个脚印
  15. 程序“[4176] char.exe: 本机”已退出,返回值为 0 (0x0)
  16. HDOJ 2010 水仙花数
  17. 秦汉三国政治史:东汉宰相制度
  18. 中国地图 echarts china.js 无乱码
  19. 球半篮球分析,NBA总决赛第四场:顿凯尔特人VS勇士
  20. 豆瓣FM产品分析 | 纯粹极简的听歌APP

热门文章

  1. BUPT复试专题—统计字母(2008)
  2. [转]B树(多向平衡查找树)详解
  3. 通过onkeydown事件来控制只允许数字
  4. 微信公众平台消息接口开发(27)彩票查询
  5. try-catch语句
  6. python做定时任务的方式及优缺点_使用Python做定时任务及时了解互联网动态
  7. CCF CSP202112-2 序列查询新解
  8. 你们喜欢一个人旅行,还是有人陪伴旅行?
  9. 折扇的保养方法是什么?
  10. 红豆、绿豆、黑豆、花生、莲子、薏仁米放在一起吃,可以吗?