(补)MySql主从模式与读写分离,Mysql分库分表

一、MySql主从模式实现读写分离

前提两台mysql一致

1、修改主数据库的配置文件。/etc/my.cnf 开启日志  设置server_id 注意主节点id一定要比从节点id小

2、重启服务service mysql restart.再授权从节点可以访问:grant all privileges on *.* to 'xxxx'@'xxx.xxx.x.xxx' identified by 'password' with grant option;

注意日志文件存在于mysql/data/。xxxxx.index文件,存储日志文件在哪里..auto.cnf当前mysql的uuid(主备不要重复)

3、从数据库设置:。注意要比主节点的数值大。不要开启日志。

4,开启服务,连接后先停止从 stop slave .再从新配置主节点信息:change master to master_host='192.168.17.132',master_user='myslave',master_password='smallming',master_log_file='master_log.000001';

上面分别为主节点ip、名称、密码、日志名称。设置完开启start slave

主从配置完成。

二、Mycat

1、JDK配置、端口放开、mycat所在服务器访问mysql权限设置。就不说了

2、解压mycat.首先:rule.xml配置:

<tableRule name="crc32slot1">

<rule>

<columns>table1_id</columns>

<algorithm>crc32slot</algorithm>

</rule>

</tableRule>

其次配置schemal.xml:

<?xml version="1.0"?>

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">

<mycat:schema xmlns:mycat="http://io.mycat/">

         <schema name="databasename" checkSQLschema="false" sqlMaxLimit="100">

                  <table name="tablename1" dataNode="dn1,dn2,dn3" rule="crc32slot" />

         </schema>

         <dataNode name="dn1" dataHost="localhost1" database="db1" />

         <dataNode name="dn2" dataHost="localhost1" database="db2" />

         <dataNode name="dn3" dataHost="localhost1" database="db3" />

         <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"

                             writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">

                  <heartbeat>select user()</heartbeat>

                  <writeHost host="hostM1" url="192.168.17.132:3306" user="root"

                                       password="xxxxx">

                           <readHost host="hostS2" url="192.168.17.133:3306" user="root" password="xxxxx" />

                  </writeHost>

         </dataHost>

</mycat:schema>

最后配置mycat/conf/server.xml:

 

3、mycat/bin下 。./mycat start.如果启动失败,去mycat/logs/wrapper.log查看异常信息(重点 Cause By)

4、使用navicat连接mycat(把mycat当成数据库使用即可.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值