一、环境准备节点两个
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做高可用的更多相关文章

  1. MySQL基于域名做高可用切换(Consul初试)

    一,Consul功能介绍 服务发现 - Consul的客户端可用提供一个服务,比如 api 或者mysql ,另外一些客户端可用使用Consul去发现一个指定服务的提供者.通过DNS或者HTTP应用程 ...

  2. Nfs+Drdb+Heartbeat 数据存储高可用服务架构方案

    一.方案的应用场景 适用于2千万-3千万PV架构的网站,Nfs数据存储高可用服务方案 备注:互联网排名前30左右公司常用的架构 二.生产环境方案部署原理图 三.生产环境服务器硬件配置: 生产环境中采用 ...

  3. Heartbeat+LVS构建高可用负载均衡集群

    1.heartbeat简介: Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里 ...

  4. Heartbeat+DRBD+MFS高可用

    Heartbeat+DRBD+MFS高可用. 前言:MFS系统简介 组件名称及作用 管理服务器(Managing Server)   简称Master Server 这个组件的角色是管理整个mfs文件 ...

  5. 分享MYSQL中的各种高可用技术(源自姜承尧大牛)

    分享MYSQL中的各种高可用技术(源自姜承尧大牛) 图片和资料来源于MYSQL大牛姜承尧老师(MYSQL技术内幕作者) 姜承尧: 网易杭州研究院 技术经理 主导INNOSQL的开发 mysql高可用各 ...

  6. heartbeat单独提供高可用服务

    本文目录:1.简介2.安装heartbeat 2.1 编译安装Heartbeat3.heartbeat相关配置文件 3.1 配置文件ha.cf 3.2 配置文件authkeys 3.3 配置文件har ...

  7. 分享MYSQL中的各种高可用技术

    分享MYSQL中的各种高可用技术 图片和资料来源于姜承尧老师(MYSQL技术内幕作者) mysql高可用各个技术的比较 数据库的可靠指的是数据可靠 数据库可用指的是数据库服务可用 可靠的是数据:例如工 ...

  8. 基于keepalived对redis做高可用配置---转载

    关于keepalived的详细介绍,请移步本人相关博客:http://wangfeng7399.blog.51cto.com/3518031/1405785 功能 ip地址 安装软件 主redis 1 ...

  9. mysql主备切换[高可用]

    到这一步的时候, 是主备部署已经处理好, 请关注:mysql主备部署[高可用] 这次使用的是keepalived-1.2.22.tar.gz版, 官网地址:keeplived官网 笼统知识请自行查询百 ...

随机推荐

  1. 设正整数n的十进制表示为n=ak……a1a0(0<=ai<=9,0<=i<=k,ak!=0),n的个位为起始数字的数字的正负交错之和T(n)=a0+a1+……+(-1)kak,证明:11|n的充分必要条件是11|T(n);(整除理论1.1.2))

    设正整数n的十进制表示为n=ak……a1a0(0<=ai<=9,0<=i<=k,ak!=0),n的个位为起始数字的数字的正负交错之和T(n)=a0+a1+……+(-1)kak, ...

  2. C# 二维数组和集合

    本次课我主要学习了二维数组和集合的部分内容. 在二维数组的部分中,我主要学习了二维数组的定义方法:int [,] array=new int [4,2];做了一个小练习:用二维数组打印自己的姓氏. s ...

  3. 第四题 (List)写一个函数reverseList,该函数能够接受一个List,然后把该List 倒序排列。 例如:  List list = new ArrayList();  list.add(“Hello”);  list.add(“World”);  list.add(“Learn”); //此时list 为Hello World Learn  r

    package zuoye; import java.util.ArrayList; import java.util.List; public class Reverse01 { public st ...

  4. Chapter 2 Open Book——9

    When I was finished with that, I took my book bag upstairs. Before starting my homework, I changed i ...

  5. HDU 1548 A strange lift(dij+邻接矩阵)

    ( ̄▽ ̄)" //dijkstra算法, //只是有效边(即能从i楼到j楼)的边权都为1(代表次数1): //关于能否到达目标楼层b,只需判断最终lowtime[b]是否等于INF即可. # ...

  6. qsdk编译

    QSDK是一种在openwrt的基础上,加入了高通atheros芯片相关资料的一种环境. QSDK与openwrt的区别主要在如下几个方面: arch/mips/ath79/* – updated Q ...

  7. AS3.0中用于网络通信的类总结

      0条评论  1.Loader Loader 类可用于加载 SWF 文件或图像(JPG.PNG 或 GIF)文件.也只能是这些对象. 网络协议基础:HTTP/RTMP 加载方法原型:Loader.l ...

  8. SSH登录很慢问题的解决方法

    用ssh连其他linux机器,会等待10-30秒才有提示输入密码.严重影响工作效率. 关闭ssh的gssapi认证 用ssh -v user@server 可以看到登录时有如下信息: debug1: ...

  9. 深入浅出Koa

    深入浅出Koa(1):生成器和Thunk函数 Koa是个小而美的Node.js web框架,它由Express的原班人马打造的, 致力于以一种现代化开发的方式构建web应用. 通过这个系列,你将能够理 ...

  10. table导出到excel的两种方法

    1. 用table2excel 的js文件,这种方法没有IE兼容性 需要在文件中导入 <script type="text/javascript" src="< ...