MySQL+heartbeat+nfs做高可用
一、环境准备节点两个
node1:10.10.10.202
node2:10.10.10.203
nfs服务器:
node3:10.10.10.204
系统环境CentOS release 6.5 (Final)
二、在nfs服务器上创建MySQL的共享目录
mkdir /data
vim /etc/exports
/data 10.10.10.0/24(rw,no_root_squash)
重新导出文件系统
exportfs -rav
在客户端查看一下并尝试挂载
showmount -e 10.10.10.204
mount -t nfs 10.10.10.204:/data /data
添加MySQL的用户组以及用户(要保持每个节点的mysql用户和组的id是一致的哦)
groupadd -r -g 250 mysql
useradd -u 250 -g mysql mysql
setfacl -m u:mysql:rwx /data
node1:
groupadd -r -g 250 mysql
useradd -u 250 -g mysql mysql
node2:
groupadd -r -g 250 mysql
useradd -u 250 -g mysql mysql
node1和node2:
tar xf mariadb-10.0.28-linux-glibc_214-x86_64.tar.gz -C /usr/local/
ln -sv mariadb-10.0.28-linux-x86_64 mysql
chown root.mysql . -R
mkdir /data/{database,binlog}
chown -R mysql.mysql /data
初始化数据库
mariaDB10.0.28需要安装2.14版本的glibc而6.5是2.12
错误提示:
./bin/my_print_defaults: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./bin/my_print_defaults)
解决办法:
升级glibc
wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
tar zxvf glibc-2.14.tar.gz
cd glibc-2.14
mkdir build
cd build
../configure --prefix=/usr/local/glibc-2.14
make
make install
export LD_LIBRARY_PATH=/usr/local/glibc-2.14/lib:$LD_LIBRARY_PATH
ln -sf /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
ln -sf /lib64/libc-2.14.so /lib64/libc.so.6
错误提示:
Installing MariaDB/MySQL system tables in '/data/database' ...
./bin/mysqld: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./bin/mysqld)
解决办法:
升级gcc
wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.0/gcc-4.8.0.tar.bz2
tar -jxvf gcc-4.8.0.tar.bz2
cd gcc-4.8.0
./contrib/download_prerequisites
cd ..
mkdir gcc-build-4.8.0
cd gcc-build-4.8.0
../gcc-4.8.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make
错误提示:
make[2]: *** [configure-stage1-libcpp] 错误 1
make[2]: Leaving directory `/opt/gcc-build-4.8.0'
make[1]: *** [stage1-bubble] 错误 2
make[1]: Leaving directory `/opt/gcc-build-4.8.0'
make: *** [all] 错误 2
解决办法:
yum install gcc-c++
make install
确定新安装的GCC的路径,一般默认在/usr/local/bin下。
ls /usr/local/bin | grep gcc
查看gcc的版本可以用gcc -v
添加新GCC到可选项,倒数第三个是名字,倒数第二个参数为新GCC路径,最后一个参数40为优先级,设大一些之后就自动使用新版了
update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/i686-pc-linux-gnu-gcc 40
先用strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX查看支持的版本
ln -sf /usr/local/lib64/libstdc++.so.6.0.18 /usr/lib64/libstdc++.so.6
复制MySQL的启动脚本和配置文件
mkdir /etc/mysql
cp support-files/my-large.cnf /etc/mysql/my.cnf
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld off
vim /etc/mysql/my.cnf加入
datadir = /data/database
innodb_file_per_table = ON
log-bin=/data/binlog/master-bin
启动服务
/etc/init.d/mysqld start
MySQL+heartbeat+nfs做高可用的更多相关文章
- MySQL基于域名做高可用切换(Consul初试)
一,Consul功能介绍 服务发现 - Consul的客户端可用提供一个服务,比如 api 或者mysql ,另外一些客户端可用使用Consul去发现一个指定服务的提供者.通过DNS或者HTTP应用程 ...
- Nfs+Drdb+Heartbeat 数据存储高可用服务架构方案
一.方案的应用场景 适用于2千万-3千万PV架构的网站,Nfs数据存储高可用服务方案 备注:互联网排名前30左右公司常用的架构 二.生产环境方案部署原理图 三.生产环境服务器硬件配置: 生产环境中采用 ...
- Heartbeat+LVS构建高可用负载均衡集群
1.heartbeat简介: Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里 ...
- Heartbeat+DRBD+MFS高可用
Heartbeat+DRBD+MFS高可用. 前言:MFS系统简介 组件名称及作用 管理服务器(Managing Server) 简称Master Server 这个组件的角色是管理整个mfs文件 ...
- 分享MYSQL中的各种高可用技术(源自姜承尧大牛)
分享MYSQL中的各种高可用技术(源自姜承尧大牛) 图片和资料来源于MYSQL大牛姜承尧老师(MYSQL技术内幕作者) 姜承尧: 网易杭州研究院 技术经理 主导INNOSQL的开发 mysql高可用各 ...
- heartbeat单独提供高可用服务
本文目录:1.简介2.安装heartbeat 2.1 编译安装Heartbeat3.heartbeat相关配置文件 3.1 配置文件ha.cf 3.2 配置文件authkeys 3.3 配置文件har ...
- 分享MYSQL中的各种高可用技术
分享MYSQL中的各种高可用技术 图片和资料来源于姜承尧老师(MYSQL技术内幕作者) mysql高可用各个技术的比较 数据库的可靠指的是数据可靠 数据库可用指的是数据库服务可用 可靠的是数据:例如工 ...
- 基于keepalived对redis做高可用配置---转载
关于keepalived的详细介绍,请移步本人相关博客:http://wangfeng7399.blog.51cto.com/3518031/1405785 功能 ip地址 安装软件 主redis 1 ...
- mysql主备切换[高可用]
到这一步的时候, 是主备部署已经处理好, 请关注:mysql主备部署[高可用] 这次使用的是keepalived-1.2.22.tar.gz版, 官网地址:keeplived官网 笼统知识请自行查询百 ...
随机推荐
- drupal7的node的内容的存储位置
标题是存在node表中的,但是实际内容存在表field_data_body中
- JPA 系列教程12-复合主键-2个@Id+@IdClass
复合主键 指多个主键联合形成一个主键组合 需求产生 比如航线一般是由出发地及目的地确定,如果要确定唯一的航线就可以用出发地和目的地一起来表示 ddl语句 同复合主键-2个@Id一样 Airline p ...
- HDU 5773 The All-purpose Zero
这题想了1个多小时想不出来...方法真是精妙... 官方题解:0可以转化成任意整数,包括负数,显然求LIS时尽量把0都放进去必定是正确的.因此我们可以把0拿出来,对剩下 的做O(nlogn)的LIS, ...
- crontab定时任务以及其中中文乱码问题
一.小例子 1.写个测试文件 2.将文件权限变为可执行文件 3.在crontab文件中写定时任务 格式: 分/时 * * * 用户名 可执行文件路径 >> log文件路径 2>&am ...
- TD配置安装方式
TD服务器搭建及配置指南 第一:安装前的环境准备 系统需安装IIS作为web服务器(停止IIS的smtp服务). 选择SQL Server2000作为数据库.Win2003需安装SP3. 以管理员登陆 ...
- STM32 一通道单次转换
之前弄过ADC连续转换,还配了DMA传输,项目上不希望这样做,因为有其他设备用到DMA传输,就会不停的抢占优先级,效率低. 按照需求改成ADC单次转换,非连续,用的时候只需调下函数执行一次转换即可. ...
- Beanstalkd
摘要by ck:beanstalkd 和 kafka的本质区别是什么? Beanstalkd,一个高性能.轻量级的分布式内存队列系统,最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web ...
- hud 2549 壮志难酬
Problem Description 话说MCA山上各路豪杰均出山抗敌,去年曾在江湖威名显赫的,江湖人称<万军中取上将首级舍我其谁>的甘露也不甘示弱,“天将降大任于斯人也,必先劳其筋骨, ...
- python--sorted函数
摘自:http://www.cnblogs.com/65702708/archive/2010/09/14/1826362.html 我们需要对List进行排序,Python提供了两个方法对给定的Li ...
- AFNetWorking 判断当前版本是否是最新版本
NSString *url = [[NSString alloc] initWithFormat:@"http://itunes.apple.com/lookup?id=%@",@ ...