MySQL主从备份 + MyCat读写分离 学习笔记

一、概述

平台数据库采用的是MySQL数据库,目前采用的是独立数据库,为了适应更大数据量的访问请求,需要对MySQL数据库架构进行调整,从网上查找大量资料研究后的结论是:采用MySQL主从备份 + MyCat读写分离的方案,可以有效的提高数据库的访问量。

MySQL主从备份是MySQL自带功能,这是一种热备份方式,数据同步过程相对较快,可以备份到多台机器上去。

MyCat读写分离阿里公司的开源项目,是替代Ameoba、cobar两项读写分离的最新方案,目前是1.6版。

二、实施步骤

1.   MySQL升级

目前平台采用的数据库是5.1.3版的,为了能更好的提高数据库处理的效能,数据库版本应提高到5.6以上,最好采用最新的5.7版。

2.   主从备份

这需要对主数据库、从数据库分别处理。

2.1    主数据库设置

1 修改主服务器配置

#vi /etc/my.cnf

[mysqld]节点下,增加

server-id=214    #服务器唯一ID,一般取当前机器IP最后一段

log-bin=master-bin    #启用二进制日志 

log-bin-index=master-bin.index

binlog-do-db=dbtest1    #需要备份的数据库名 

2重启MySQL

/etc/init.d/mysql restart  或是  service mysqld restart

重启命令视服务器安装环境决定 

3建立同步帐户并授权slave

mysql>GRANT REPLICATIONSLAVE,REPLICATION CLIENT ON *.* TO 'repl'@'192.168.1.214' IDENTIFIED BY '123';

mysql> FLUSH PRIVILEGES; 

说明:

repl: 从服务器获取主服务器上数据时的帐号

192.168.1.214: 从服务器IP地址

123: 帐号密码

FLUSH PRIVILEGES;   刷新权限 

注:如有多个从服务器,需要逐个创建帐户,使用%通配符设置IP值有时会无法登录到主服务器。

4查看主服务器状态

mysql> show master status;

说明:

Dbtest1 :  备份的数据库名

master-bin.000003 : 二进制日志文件名

2766 : 文件偏迁量位置

注:上边两个参数需要特别注意,在配置从服务器参数时会用到。

以上几个步骤便完成主服务器配置。


2.2    从数据库设置

1 修改从服务器配置

#vi /etc/my.cnf

[mysqld]节点下,增加

server-id=213    #服务器唯一ID,一般取当前机器IP最后一段

relay-log-index=slave-relay-bin.index

relay-log=slave-relay-bin

master-host=192.168.1.214    #主服务器IP

master-user=repl    #主服务器上设置的同步用户名

master-password=123    #同步用户密码

master-port=3306    #主服务器mysql端口

replicate-do-db=dbtest1    #要同步的数据名

slave-net-timeout=10    #同步超时秒数

#log-slave-updates

skip-slave-start#防止复制随着mysql启动而自动启动。即slave端的mysql服务重启后需手动来启动主从复制(slave start),最好加上,slave端数据库服务重启后手动启动slave比较安全

2重启MySQL、登录mysql

3同步指令

停止slave服务: mysql>slavestop;

启动slave服务: mysql>slavestart;

设置与master服务器相关的配置参数 

mysql>change master to master_host=’192.168.15.132’,master_user=’backup’,master_password=’123456’,MASTER_LOG_FILE=’log-error.000010’,MASTER_LOG_POS=106; 

检查从服务器复制功能状态

mysql> show slave status\G 
以下两个参数必须为YES 
Slave_IO_Running: Yes 

Slave_SQL_Running:Yes

以上几个步骤便完成主服务器配置。 


2.3   错误检查

配置错误时,可通过

cat/var/log/mysqld.log | tail -30

指令查看错误信息,然后根据错误内容进行排查、解决。

 

3.   Mycat读写分离

3.1 Mycat的下载

Mycat可以从http://www.mycat.org.cn/下载

网站上有个权威下载,可以学习Mycat的原理、配置及使用。

3.2 Mycat部署方法

Mycat具体的部署方法可以参见权威指南的入门篇中的第四章快速入门

3.3 Mycat使用方法

Mycat具体的使用方法可以参见高级进队篇中1.3节内容:

3.4 实践说明

server.xml配置说明:

这里配置的用户名、密码是连接Mycat的用户名、密码,schemas是Mycat里创建出的数据库。

schema.xml

Schema节点中的table必须要填写,不然Mycat启动会报错。

Table节点中的dataNode可以是不同的、多来源的数据节点。

 

Balance说明

1、balance=0 不开启读写分离机制,所有读操作都发送到当前可用的writehostle .

2、balance=1 全部的readhost与stand by writeHost 参与select语句的负载均衡。简单的说,双主双从模式(M1àS1,M2àS2,并且M1和M2互为主备),正常情况下,M1,S1,S2都参与select语句的复杂均衡。

3、balance=2 所有读操作都随机的在readhost和writehost上分发

 

writeType说明

负载均衡类型,目前的取值有3种:

1、writeType="0", 所有写操作发送到配置的第一个writeHost。

2、writeType="1",所有写操作都随机的发送到配置的writeHost。

3、writeType="2",不执行写操作。

 

switchType

1、switchType=-1 表示不自动切换

2、switchType=1 默认值,自动切换

3、switchType=2 基于MySQL 主从同步的状态决定是否切换

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值