一、环境准备节点两个
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. 请问如何查询一个APP的Android和iOS下载量?

    作者:Jasmine Jiang链接:http://www.zhihu.com/question/28533067/answer/87871598来源:知乎著作权归作者所有,转载请联系作者获得授权. ...

  2. ural 1013. K-based Numbers. Version 3(动态规划)

    1013. K-based Numbers. Version 3 Let’s consider K-based numbers, containing exactly N digits. We def ...

  3. div盒子水平垂直居中的方法

    这个问题比较老,方法比较多,各有优劣,着情使用. 一.盒子没有固定的宽和高 方案1.Transforms 变形 这是最简单的方法,不仅能实现绝对居中同样的效果,也支持联合可变高度方式使用.内容块定义t ...

  4. Struts2之checkboxlist 设置默认值和结果回显

    <s:checkboxlist list="#{'篮球':'篮球','足球':'足球','排球':'排球'}"></s:checkboxlist> 这么定义 ...

  5. HDU 5807 Keep In Touch

    加维降复杂度 #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #inc ...

  6. Internet History, Technology and Security (Week1)

    Week1. History: Dawn of Electronic Computing War Time Computing and Conmmunication Keywords: Electro ...

  7. 十三章:使用WEB字体

    1.WEB字体可以使用一系列文件类型,下面介绍三种字体类型: (1)内嵌OpenType (2)TrueType和OpenType台式机使用的标准字体文件类型 (3)WEB开放字体格式. 2.构造子集 ...

  8. vertor容器

    头文件#include<vector> 1.创建vector对象 1.不指定容器大小  vector <int> v; 2.指定容器大小 vector <double&g ...

  9. Django:之安全、国际化和session

    Django 安全 以下是关于Django安全的一些特征,它包括如何使基于Django的网站的一些建议. 关于安全的官方文档:https://docs.djangoproject.com/en/dev ...

  10. centos精简系统 源码安装客户端git

    CentOS的yum源中git版本比较低,需要最新版本git,只能自己编译安装,现在记录下编译安装的内容,留给自己备忘. 对于精简型的centos系统,会缺少很多依赖包和插件,要源码安装客户端git, ...