mycat动静分离+mysql主从复制

一首先配置mysql的主从复制,这里Windows下做主服务器,centos做从服务。
1.Windows下配置mysql为主服务器,修改mysql安装路径下的my.ini配置文件

server-id=1
#如果以下配置项导致服务无法启动,要查看配置项是否有空格,详情请查看data文件夹下的err日志
log-bin=log
#要同步的mstest数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名
binlog-do-db=test      
#要忽略的数据库
binlog-ignore-db=mysql  

配置完成后重启mysql服务,如果报错,查看mysql安装文件下的data文件夹里的err文件查看详细内容

2.Centos7配置mysql从服务。
修改/etc/my.cnf文件,添加

server-id=2
#要同步的mstest数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名
replicate-do-db=test        
#要忽略的数据库
replicate-ignore-db=mysql 

然后登录mysql,执行以下命令

change master to master_host='192.168.1.128',master_port=3306,master_user='mstest',master_password='123456'

重启服务,然后在主服务器上新增一条数据,在从服务器上查询成功则表示主从配置成功。

二、配置mycat的读写分离,这里在centos7下配置mycat
1.mycat主要配置 server.xml、rule.xml、schema.xml等三个配置文件,首先在mycat安装路径下找到这三个配置文件,
首先配置server.xml


    <user name="root">
        <property name="password">123456</property>
        <property name="schemas">TEST</property>
        <property name="readOnly">false</property>

        <!-- 表级 DML 权限设置 -->
        <!--        
        <privileges check="false">
            <schema name="TESTDB" dml="0110" >
                <table name="tb01" dml="0000"></table>
                <table name="tb02" dml="1111"></table>
            </schema>
        </privileges>       
         -->
    </user>

schemas 数据库名,这里会和schema.xml中的配置关联,多个用逗号分开,例如需要这个用户需要管理两个数据库db1,db2,则配置db1,db2

2.配置schema.xml

    <!-- 数据库配置,与server.xml中的数据库对应 --> 
    <schema name="TEST" checkSQLschema="true" sqlMaxLimit="100">
        <table name="user"  dataNode="dn1" />
        <table name="user_role"  dataNode="dn1"  /> 
        <table name="user_perimission"  dataNode="dn1"  />
        <table name="role"  dataNode="dn1"  /> 
        <table name="perimission"  dataNode="dn1"  />
    </schema>
    <!-- 分片配置 --> 
        <dataNode name="dn1" dataHost="test1" database="test" /> 

    <!-- 物理数据库配置 -->
        <dataHost name="test1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native">
            <heartbeat>select user();</heartbeat>
            <writeHost host="hostM1" url="192.168.1.128:3306" user="root" password="root"> 
             <readHost host="hostM1" url="127.0.0.1:3306" user="root" password="root"> </readHost>
             </writeHost> 
        </dataHost> 

schema中的name要与server中的相对应,table标签中的name为物理数据库的数据表名。
修改完成之后,启动mycat
启动命令为安装路径 bin目录下执行
./mycat start
重启
./mycat restart
停止
./mycat stop
启动完成之后,进行测试如果报错,则去mycat安装路径下的conf查看wrapper.log文件查看详细信息,如果报错,无法连接mysql服务的话,使用命令行的形式登录mysql查看mysql是否可以登录成功,不可以则使用命令行的方式修改代码。
ps:报错没有找到数据源,往往是因为用户名密码无法登录,所以要使用命令行来检测,不要使用可视化工具(Navicat),因为Navicat可以登录dos命令不一定

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值