MySQL主从复制、读写分离实现

一.主从复制

主从复制原理:

Mysql开启binlog日志后,会把对数据库的增、删、改等数据库变动情况记录在二进制文件中,主从复制的过程就是主库(Master)开启binlog日志,从库(Slave)拉取日志,并执行这些操作,从而达到主从复制的目的。

主从复制参考文章:mysql 主从复制 基于binlog 简单实践

二.读写分离

读写分离原理:
读写分离原理图

读写分离原理如图所示,应用服务器连接的数据库并不是真实的数据库,它可能是数据库中间件创建的虚拟数据库,它的主要作用是代理(类似于Nginx),根据应用服务器不同的请求以及设定的规则,将数据库请求分发到相应数据库服务器。

基于Mycat实现读写分离:

1.搭建java环境。因为Mycat是用java写的,必须运行在java环境。
2.下载地址:

https://github.com/MyCATApache/Mycat-download

选择版本下载后解压即可。

3.目录结构:

--bin 启动目录

--conf 配置文件存放配置文件:

  --server.xml:是Mycat服务器参数调整和用户授权的配置文件。

  --schema.xml:是逻辑库定义和表以及分片定义的配置文件。

  --rule.xml:  是分片规则的配置文件,分片规则的具体一些参数信息单独存放为文件,也在这个目录下,配置文件修改需要重启MyCAT。

  --log4j.xml: 日志存放在logs/log中,每天一个文件,日志的配置是在conf/log4j.xml中,根据自己的需要可以调整输出级别为debug                           debug级别下,会输出更多的信息,方便排查问题。

  --autopartition-long.txt,partition-hash-int.txt,sequence_conf.properties, sequence_db_conf.properties 分片相关的id分片规则配置文件

  --lib     MyCAT自身的jar包或依赖的jar包的存放目录。

--logs        MyCAT日志的存放目录。日志存放在logs/log中,每天一个文件

4.配置文件:
server.xml(mycat服务器参数配置,用户配置等)

<user name="mycat"><!--用户名-->
     <property name="password">123456</property><!--密码-->
     <property name="schemas">my_db</property><!--数据库名,对应schema.xml中的schema的name属性-->
     <property name="readOnly">false</property><!--是否只读-->
</user>

schema.xml(配置真实数据库服务器信息等)

<!--逻辑库-->
<schema name="my_db" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1">
<!--节点-->
<dataNode name="dn1" dataHost="localhost1" database="tuoxingwang" />

<dataHost name="localhost1" maxCon="1000" minCon="10" balance="3"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <!--写库,主库-->
                <writeHost host="hostM1" url="192.168.1.100:3306" user="mycat"
                                   password="123456789">
                <!--读库,从库-->
                <readHost host="hostS2" url="192.168.1.101:3306" user="mycat" password="123456789" />
                </writeHost>
</dataHost>
Balance参数配置:
1. balance=“0”, 所有读操作都发送到当前可用的writeHost上。
2. balance=“1”,所有读操作都随机的发送到readHost。
3. balance=“2”,所有读操作都随机的在writeHost、readhost上分发。
WriteType参数设置:
1. writeType=“0”, 所有写操作都发送到可用的writeHost上。
2. writeType=“1”,所有写操作都随机的发送到readHost。
3. writeType=“2”,所有写操作都随机的在writeHost、readhost分上发。

5.启动:
启动脚本在bin目录下:

//启动
./mycat start
//停止
./mycat stop
//重启
./mycat restart

6.连接mycat:
客户端:

mysql -umycat -p123456 -p8066 --default_auth=mysql_native_pasowrd

管理端:

mysql -umycat -p123456 -p9066 --default_auth=mysql_native_pasowrd
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,175评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,674评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,151评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,597评论 1 269
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,505评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,969评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,455评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,118评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,227评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,213评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,214评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,928评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,512评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,616评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,848评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,228评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,772评论 2 339

推荐阅读更多精彩内容