it运维开发教程,运维管理,因为微不足道,所以值得关注!域名来源:sos 救援 idc 数据中心 所以sos+idc=sosidc.com

mysql高可用mha解决方案01-去哪网采用的

发布:admin2016-3-4 16:22分类: 解决方案


前言

MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于 Facebook公司)开发,是一套优秀的作为MySQLy高可用环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在 0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。

    它由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)。MHA Manager可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave上。

MHA node运 行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master 出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程 序是完全透明的。

1.     安装部署MHA前准备

MHA架构图

wKioL1bXnxyTA1qsAABJ9QnuNdg689.png

 

 

 

 

 

 

 

 

 

具体搭建如表:

角色

IP地址

主机名

serverID

类型

Monitor host

192.168.127.100

MHA


监控集群组

Master

192.168.127.101

master

101

写入

Candicate master

192.168.127.102

slave01

102

slave

192.168.127.103

slave02

103

 

vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.127.100     MHA

192.168.127.101     master

192.168.127.102     slave01

192.168.127.103     slave02

1.1.   percona-mysql安装(masterslave01slave02 三台安装)

注意:三台的server_id 不一样,为了做主从同步

创建mysql用户:

useradd mysql

创建安装目录与数据目录:

mkdir /app

mkdir -p /data/mysql3306

解决percona-mysql软件:

tar zxvf Percona-Server-5.6.27-rel75.0-Linux.x86_64.ssl101.tar.gz

注意:安装的软件需要根据openssl版本来下载

rpm -qa | grep ssl

openssl-1.0.1e-15.el6.x86_64

把解压文件移动相应目录:

mv Percona-Server-5.6.27-rel75.0-Linux.x86_64.ssl101 /app/mysql5.6

 

创建放慢查询日志目录:

mkdir /app/mysql5.6/logs

给目录权限:

chown -R mysql:mysql /app/mysql5.6

chown -R mysql:mysql /data/mysql3306

 

创建配置文件

vi /app/mysql5.6/my.cnf

 

[client]

socket=/app/mysql5.6/mysql.sock

default-character-set=utf8

port=3306

[mysql]

prompt=\\u@\\d \\r:\\m:\\s>

no-auto-rehash

[mysqld_safe]

log-error=/data/mysql3306/mysqld.error

[mysqld]

socket=/app/mysql5.6/mysql.sock

pid-file=/app/mysql5.6/mysqld.pid

basedir=/app/mysql5.6

datadir=/data/mysql3306

port=3306

server_id=101

character-set-server=utf8

skip-external-locking

skip-name-resolve

max_connections=1024

max_connect_errors=1000

wait_timeout =  400

interactive_timeout = 400

table_definition_cache=500

table_open_cache=500

sort_buffer_size = 16M

tmp_table_size = 200M

 

read_buffer_size = 1M

read_rnd_buffer_size = 4M

myisam_sort_buffer_size = 64M

thread_cache_size = 8

query_cache_type=0

query_cache_size=0

thread_concurrency = 16

lower_case_table_names = 1

log_bin_trust_function_creators = 1

#################slow log####################

slow-query_log=1

slow-query_log_file=/app/mysql5.6/logs/mysql.slow

long_query_time=2

####################binlog######################

log-bin=mysql-bin

binlog-format=ROW

expire_logs_days=5

sync_binlog=1

################replication##########

log-slave-updates=1

################INNODB################

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

transaction-isolation=READ-COMMITTED

innodb_buffer_pool_size=10G

innodb_flush_log_at_trx_commit=2

innodb_strict_mode=1

innodb_flush_method=O_DIRECT

innodb_file_format=Barracuda

innodb_log_files_in_group=3

innodb_file_per_table=1

innodb_io_capacity=500

innodb_support_xa=1

innodb_additional_mem_pool_size=16M

innodb_log_buffer_size=64M

 

 

[mysqldump]

quick

max_allowed_packet=128M

myisam_max_sort_sort_file_size=2G

 

 

初始化数据库

/app/mysql5.6/scripts/mysql_install_db --user=mysql --basedir=/app/mysql5.6 --datadir=/data/mysql3306   --defaults-file=/app/mysql5.6/my.cnf

 

启动脚本

cp  /app/mysql5.6/support-files/mysql.server /etc/init.d/mysql

vi /etc/init.d/mysql

 

basedir=/app/mysql5.6

datadir=/data/mysql3306

 

注意:修改以上两处即可

 

启动数据库

 

/etc/init.d/mysql start

 

Starting MySQL (Percona Server)....                        [  OK  ]

 

环境变量配置

vi /etc/profile

 

export MYSQL_HOME=/app/mysql5.6

export MY_BASEDIR_VERSION=/app/mysql5.6

export PATH=/app/mysql5.6/bin:/app/mysql5.6/scripts:$PATH

export LD_LIBRARY_PATH=/app/mysql5.6/lib

 

生效环境变量

source /etc/profile


原创作品,允许转载,http://jxzhfei.blog.51cto.com/1382161/1747013

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!

已有 0/17851 人参与

发表评论:

欢迎使用手机扫描访问本站,还可以关注微信哦~