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官网 笼统知识请自行查询百 ...
随机推荐
- ubuntu下打开chm文件
CHM文件格式是微软1998年推出的基于HTML文件特性的帮助文件系统,以替代早先的WinHelp帮助系统,它在Windows 98中把CHM类型文件称作“已编译的HTML帮助文件”. chm文件因为 ...
- 网络通信框架Apache MINA
Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络 ...
- 高性能MySQL第2,3章性能相关 回顾笔记
1. 基准测试(benchmark) 不管是新手还是专家都要熟悉基准测试,benchmark测试是对系统的一种压力测试,目标是为了掌握在特定压力下系统的行为.也有其他原因:如重现系统状态,或者是 ...
- AccessToMySql数据库的导入以及java生成.exe文件
一.AccessToMySql 最近做了一个Access数据库导入MySql的小工具,期间遇到诸多问题,这里小计一下. 表名为cur_rec,共有5个字段 比较奇葩的是这个表居然是四个字段的联合主键, ...
- Urbanization
Urbanization time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- mac中Eclipse的快捷键
查看某个类:command + shift +T 快速查看源代码中方法: command + o 选中某个类,command + t:查看此类的父类和子类 如果要导入一个类所在的包名,可以选中这个类, ...
- NodeJS 学习笔记一
他创造NodeJS的目的是为了实现高性能Web服务器,他首先看重的是事件机制和异步IO模型的优越性,而不是JS.但是他需要选择一种编程语言实现他的想法,这种编程语言不能自带IO功能,并且需要能良好支持 ...
- Sping3.0版本+Quartz完成定时任务
----------------------不使用注解在XML中配置完成定时任务---------------------- 1.需要导入的jar包 2.编写我们的定时任务的完成类 3.在Spring ...
- java计数器CountDownLatch
CountDownLatch里面有个属性为state,当为零时触发代码往下执行,代码如下: package threadLock; import java.util.Random; import ja ...
- Entity Framework技巧系列之一 - Tip 1 - 5
提示1. 在Entity Framework中怎样排序关系(Relationships) 问题: 在Entity Framework论坛中常会看到关于排序相关联项目的问题. 例如,想象你要查询客户,并 ...