说明:mysql高可用集群方案设计

server1 mysqld服务器    172.16.23.11

server2 mysqld服务器    172.16.23.12

数据存放 nfs 服务器     172.16.23.6

server1,2为了实现高可用,需要一个共享存储,这里用一个nfs服务器提供,nfs服务器上新建一个逻辑卷,把它挂载在/mydata目录下,这样方便mysql数据的存储。nfs只需把这个目录以读写方式共享给server1,2,且三台服务器都有同一个mysql用户,mysql组,且id号都一样。这样mysql服务器上只需挂载这个目录到本地,那么就可以共享数据。这篇博客与上一篇共同实现!

一、nfs服务器配置

1、新建分区,并挂载到/mydata下

fdisk /dev/sda

新建一个20G的分区,8e逻卷

partprob /dev/sda

pvcreate /dev/sda5

vgcreate myvg /dev/sda5

lvcreate -L 10G -n mydata myvg

mke2fs -j  -L MYDATA /dev/myvg/mydata //格式化

mkdir /mydata

vim /etc/fstab //实现开机自动挂载

LABLE=MYDATA    /mydata    ext3    default  0 0

mount -a   //读取文件,进行挂载

mount  //查看是否挂载

groupadd -g 355 -r mysql

useradd -g mysql -r -u 355 -s /sbin/nologin mysql

id mysql

chown -R mysql:mysql  /mydata

2、启动nfs服务器,并导出文件系统

vim /etc/exports  添加如下一行

mydata    172.16.23.11(rw,no_root_squash) 172.16.23.12(rw,no_root_squash)

service nfs start

rpcinfo -p localhost  查看是否启动

chkconfig nfs on    开机自动启动

showmount -e localhost   查看共享给谁

二、mysql服务器设置 server1,server2一样

(1)保证三台服务器时间同步

(2)增加用户:

groupadd -g 355 -r mysql

useradd -g mysql -r  -u 355 mysql

(3)挂载文件系统,

mkdir /mydata

mount -t nfs 172.16.23.6:/mydata  /mydata

su - mysql

touch   aa    测试是否有写权限

mkdir /mydata/data    //属于mydata用户、组,这样mysql数据才能写入

(4) 下载安装mysql lftp 172.16.0.1/pub/Sources/mysql-5.5   mysql-5.5.22

tar xf mysql-5.5.22..... -C /usr/local

ln -sv mysql-5.5.22... mysql

cd mysql

chown -R msyql:mysql .

scripts/mysql_install_db --user=mysql --datadir=/mydata/data  重要

cp support-files/my-large.cnf   /etc/my.cnf

vim /etc/my.cnf 添加一行datadir=/mydata/data

cp support-files/mysql.server /etc/init.d/mysqld

chkconfig --list mysqld

chkconfig mysqld off    //不能开机自动启动,服务器集群

(5)server2安装mysql跟server1基本一样

server2不需要初始化,因为/mydata已经有元数据了。

hostname 要设置,date要一致

(6)由于前面已经配置了Corosync+Pacemaker高可用集群,

这里只需保证以下配置

crm configure property stonith-enabled=false //由于没stonith设备,启用会报错,这里禁用

crm configure no-quorum-policy=ignore //由于这里是两台服务群集,不需要quorum,ignore表示一台故障,另一台仍能用

crm configrue rsc_defaults resource-stickiness=100  设置默认资源粘性值,表示一台故障时,再次启动服务时是否会再转移回来,正值表示更愿留在当前服务器上

查看资源属性: crm(live)ra# meta ocf:heartbeat:IPaddr

primitive myip ocf:heartbeat:IPaddr params ip="172.16.23.6"  添加一条基本资源

show

commit 提效crm configure property no-quorum-policy=ignore

(7)给nfs服务器上的/mydata目录定义为高可用资源

umount /mydata   两服务器都需卸载,只有active的服务器才能访问数据

#crm ra  list ocf heartbeat    有一个Filesystem代理脚本

crm ra meta ocf:heartbeat:Filesystem   查看这个脚本里的参数,方便我们设置

定义资源:

crm(live)configure# primitive mynfs ocf:heartbeat:Filesystem params device="172.16.23.6:/mydata" directory="/mydata" fstype="nfs" op start timeout=60s op stop timeout=60s

设备为nfs那台服务器上共享的目录,目录为当前主机挂载的目录,类型为nfs类型 op 选项里面的值最好大于脚本文件只定义的最小值,否则会报错

commit 提交

crm status 查看挂载到那个主机上,在那个主机上查看 ls /mydata  如果在server1上

让server1变为被动,查看内容

crm node standby

crm node online

(8)、添加mysqld服务,nfs与mysqld应在同一个主机上,且nfs先于mysqld挂载

crm(live)configure# primitive mysqld lsb:mysqld  添加mysql服务

crm(live)configure# colocation  mysqld_and-mynfs inf: mysqld mynfs myip  排列约束,mysqld与nfs一定要在一起(如果错可delete)

crm(live)configure# order mysqld_after_mynfs mandatory:mynfs mysqld:start  //mysqld启动必须晚于nfs

crm(live)configure# show xml

crm(live)configure# order mysql_after_myip mandatory: myip mysqld   //ip地址早于mysqld启动

commit

[定义组  group web WebIP mynfs]

crm status  看那台服务器上

(9)、验证测试

/usr/local/mysql/bin/mysql

创建远程连接的用户:

grant all on *.* to root@'172.16.%.%' identified by '12345'

flush privileges;

172.16.23.9这台客户端连接测试

mysql -uroot -h172.16.23.6 -p12345

创建数据库测试

(10)、模拟正在工作的mysql服务器故障

crm node standby

crm status

172.16.23.9这台客户端连接测试

mysql -uroot -h172.16.23.6 -p12345

创建数据库测试

(11)、查看当前系统支持stonith设备

stonith -L

man stonith

stonith -t meatware -n

linux的mysql的高可用配置_mysql高可用实现相关推荐

  1. LNMP(linux+nginx+mysql+php)服务器环境配置

    LNMP(linux+nginx+mysql+php)服务器环境配置 一.简介 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为 "engine X", ...

  2. Linux下mysql支持中文,linux下mysql环境支持中文配置步骤

    sql脚本执行前加上: CREATE DATABASE IF NOT EXISTS mydatabase DEFAULT CHARSET utf8 COLLATE UTF8_GENERAL_CI; u ...

  3. Linux下MySQL数据库主从同步配置

    操作系统:CentOS 6.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备篇: 说 ...

  4. mysql keepalived双主双活_mysql高可用架构方案之中的一个(keepalived+主主双活)

    Mysql双主双活+keepalived实现高可用 文件夹 1.前言... 4 2.方案... 4 2.1.环境及软件... 4 2.2.IP规划... 4 2.3.架构图... 4 3.安装设置MY ...

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

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

  6. linux下Mysql 的安装、配置、数据导入导出

    为什么80%的码农都做不了架构师?>>>    <p><span>MySQL</span><span>是一种</span> ...

  7. mysql多实例安装配置_MySQL多实例安装配置

    MySQL进行多实例配置再生产环境中非常常见,比如一些高配置数据库服务器,就会跑多个MySQL实例,借助多实例绑定的方式提高服务器的整体资源利用率.另外在MySQL5.7以上版本还不支持多源复制时,当 ...

  8. mysql主主同步配置_MySQL 主主同步配置步骤

    MySQL 主主同步配置 服务器名 IP 系统 MySQL odd.example.com 192.168.1.116 rhel-5.8 5.5.16 even.example.com 192.168 ...

  9. mysql 8.0优化配置_mysql 8.0.18 安装配置优化教程

    Mysql安装.配置.优化,供大家参考,具体内容如下 Mysql下载 首先登入官网下载mysql的安装包,官网地址https://dev.mysql.com/下拉到最后选择downloads里的 My ...

最新文章

  1. JLOI2011 飞行路线
  2. 数据结构之二叉树(遍历、建立、深度)
  3. 115个Java面试题和答案——终极列表(上)
  4. php和c语言的字符数组中,字符数组和字符串的区别,C语言字符数组和字符串区别详解...
  5. Bailian2912 三个完全平方数【进制+枚举】
  6. 07. 如果容器中包含了通过new操作创建的指针,切记在容器对象析构前将指针delete掉
  7. Xen和KVM的guest主机热添加硬盘
  8. WCF系列教程之WCF服务宿主与WCF服务部署
  9. 经纬度 android,android....中国各城市的经纬度,
  10. educoder第9关:原码一位乘法器设计
  11. 怎么把video文件改成mp4_怎么把视频转换成MP4格式?这招教你轻松搞定!
  12. 软考嵌入式系统设计师
  13. ps无法打开计算机缺失文件,ps打开出现dll文件丢失怎么解决
  14. 微信小程序 – 解决腾讯视频插件—视频只能播放广告问题
  15. Ubuntu16.04发热 CPU/GPU温度比win10高解决方法
  16. 编写一个学生类(Students),包括姓名(name)、性别(sex)、学号(num)、语文课(Chinese)、英语课(English)、 //数学课(Math)和平均值(avg),方法包括求三门
  17. 开放申请 | 2020年百度奖学金正式启动
  18. 短信拦截,如何抢先于QQ通讯录,360
  19. GD32F405RGT6-SPI主从模式代码
  20. Python4.22每周一练

热门文章

  1. SCAU 8588 表达式求值
  2. 想知道妹子喜不喜欢你?哈佛少年的AI,凭聊天记录算出心动概率,安卓苹果可用...
  3. iOS--上线被拒如何从苹果返回的崩溃日志iOS.crash文件处理找崩点(看这篇就懂了)
  4. markdown 光速入门
  5. 利用CXF wsdl2java生成java代码
  6. 青霉素陶瓷膜浓缩技术 一种新型膜分离技术
  7. 前端优化:前端性能优化方法
  8. python-京东扫码登录
  9. Mybatis-plus开启或者关闭SQL日志打印
  10. 为什么选择Python作为编程入门语言