CENTOS7环境下配置MYSQL MHA方案
序号 1 软件环境
虚拟机: VMware? Workstation-10.0.1 build-1379776-Win 操作系统: Window 2008
虚拟机系统环境 描述 OS硬盘空间 内存 网卡 MySQL 操作系统 拓扑结构
说明 30G 8G 1 5.6.24 Linux Centos 备注 Ver 14.14 Distrib 5.6.24, for linux-glibc2.5 (x86_64) centos-release-7-1.1503.el7.centos.2.8.x86_64 版本 V1.0.0.0 日期 2015/05/20 作者 黄种龙 描述 CENTOS7环境下MySQL安装和MHA高可用性方案的配置。
一、 安装MySQL
参见以上的拓扑图,IP 172.16.0.202的主机和 IP 172.16.0.203的主机都才用以下的方式安装MYSQL数据库。
(一) 检查安装先决条件 1、依赖库的安装
MySql的linux版本依赖于libaio库,必须先检查一下系统是否已经安装了此库。 # yum search libaio 若没有安装,必须先安装 # yum install libaio
推荐安装一个epel源
# yum install epel-release-7-5.noarch
2、防火墙设置
CENTOS7系统,模式是开启SELINUX设置的,所以先检查SELINUX的设置,若开启则必须禁用。
#sudo vim /etc/selinux/config
把SELINUX=enforcing改为SELINUX=disabled
必须设置CentOs操作系统的防火墙,以便让相应的端口数据例如可以通过。CentOS 7.0默
认使用的是firewall作为防火墙,本文档只是简单的禁用此防火墙,需要生产环境级的安全,请具体参考防火墙设置手册。
#systemctl start firewalld.service#启动firewall #systemctl stop firewalld.service#停止firewall
#systemctl disable firewalld.service#禁止firewall开机启动 (二)安装和配置MySql Binaries包 【创建用户和目录】 #groupadd mysql
#useradd -r -g mysql mysql #cd /usr/local 【解压Binaries包】
#sudo tar zxvf mysql-advanced-5.6.24-linux-glibc2.5-x86_64.tar.gz #sudo ln -s mysql-advanced-5.6.24-linux-glibc2.5-x86_64 mysql #export PATH=$PATH:/usr/local/mysql/bin #source /etc/profile 【配置my.cnf】
需要特别注意,在以下的my.cnf文件中server-id 的值必须不一样。例如IP 172.16.0.202的centos主机上的/etc/my.cnf文件的server-id分别为:server-id=1、server-id=2、server-id=3,则IP 172.16.0.203的centos主机上的/etc/my.cnf文件的server-id可以为server-id=4、
server-id=5、server-id=6
#cd /etc
#sudo touch my.cnf #sudo vim my.cnf 输入如下的配置:
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe mysqladmin = /usr/local/mysql/bin/mysqladmin log = /home/mysql/mydata/log/mysqld_multi.log [mysqld1]
socket = /home/mysql/mydata/data1/socket/mysqld.sock port = 3306
pid-file = /home/mysql/mydata/data1/mysqld.pid datadir = /home/mysql/mydata/data1
log_bin=/home/mysql/mydata/data1/binlog/mysql-bin server-id = 1
[mysqld2]
socket = /home/mysql/mydata/data2/socket/mysqld.sock port = 3307
pid-file = /home/mysql/mydata/data2/mysqld.pid datadir = /home/mysql/mydata/data2
log_bin=/home/mysql/mydata/data2/binlog/mysql-bin server-id = 2
relay_log = /home/mysql/mydata/data2/relay_log/mysql-relay-bin log_slave_updates = 1 read_only = 1
[mysqld3]
socket = /home/mysql/mydata/data3/socket/mysqld.sock port = 3308
pid-file = /home/mysql/mydata/data3/mysqld.pid datadir = /home/mysql/mydata/data3
log_bin=/home/mysql/mydata/data3/binlog/mysql-bin server-id = 3
relay_log = /home/mysql/mydata/data3/relay_log/mysql-relay-bin log_slave_updates = 1 read_only = 1
【创建数据目录】 cd /home mkdir mysql cd mysql mkdir mydata cd mydata
mkdir data1 cd data1 mkdir socket mkdir binlog
cd /home/mysql/mydata
mkdir data2 cd data2 mkdir socket mkdir binlog
mkdir relay_log
cd /home/mysql/mydata
mkdir data3 cd data3
mkdir socket mkdir binlog mkdir relay_log
cd /home/mysql/mydata mkdir log
cd /home/mysql/ chown -R mysql . chgrp -R mysql .
【初始化数据库】
/usr/local/mysql/scripts/mysql_install_db
--basedir=/usr/local/mysql --datadir=/home/mysql/mydata/data1 /usr/local/mysql/scripts/mysql_install_db
--basedir=/usr/local/mysql --datadir=/home/mysql/mydata/data2
--user=mysql
--user=mysql
/usr/local/mysql/scripts/mysql_install_db
--basedir=/usr/local/mysql --datadir=/home/mysql/mydata/data3
【启动数据库】
# mysqld_multi --defaults-extra-file=/etc/my.cnf start 1,2,3 启动后,可以使用如下查看服务运行情况:
#mysqld_multi --defaults-extra-file=/etc/my.cnf report
--user=mysql
到此,MYSQL数据库已经在172.16.0.202和172.16.0.203的机器上安装完毕。