实现MySQL读写分离的方法与步骤

  1. MySQL读写分离是一种数据库架构模式,旨在通过分离数据库的读操作和写操作到不同的服务器上来提高数据库系统的性能和可扩展性

实现步骤:

JDK安装
1)上传jdk安装包
2)解压缩到/usr/local 

tar zxvf 上传的jdk安装包 -C /usr/local

3) mv重命名为jdk8   (重命名解压后的文件)

4) 修改/etc/profile添加

    export JAVA_HOME=/usr/local/jdk8
	export PATH=$PATH:$JAVA_HOME/bin

5)生效

source /etc/profile

6) 测试

java -version

MyCat安装
1)上传mycat安装包

2)解压缩到/usr/local
3) 修改/etc/profile添加

export MYCAT_HOME=/usr/local/mycat

4)生效 

source /etc/profile

5) 修改 /etc/hosts

   mycat服务器ip	    mycat.com
	主MYSQL的IP		master.com
	从MySQL的IP		slave.com

6) 测试ping mycat.com ...

7)修改     conf/server.xml    

#账号、密码、数据库名       (这个user不是同步的用户名)
	    <user name="root" defaultAccount="true"> 
                <property name="password">123456</property>  
                <property name="schemas">testdb</property>   
                <property name="defaultScheddma">testdb</property>
        </user>
        <user name="user">
         	<property name="password">user</property>
        	<property name="schemas">testdb</property>
         	<property name="readOnly">true</property>
         	<property name="defaultSchema">testdb</property>
     	</user>

8)修改conf/schema.xml 

#(testdb是需要共享的库名)
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
        <schema name="testdb" checkSQLschema="true" sqlMaxLimit="100"  dataNode='dn1'>
        </schema>
        <dataNode name="dn1" dataHost="host1" database="testdb" />
        <dataHost name="host1" 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.101.131:3306" user="root" password="123456">
                 <!-- 指定读主机 -->
                 <readHost host="hostS1" url="192.168.101.132:3306" user="root" password="123456" />
                </writeHost>
        </dataHost>
</mycat:schema>

9) 到bin执行./mycat start 或 console

客户端测试

1)把mysql驱动包8.0.12复制到mycat/lib下
2) 设置权限777
3)把原有的5.1.35驱动包修改名称为xx.jar.bak
4) 修改/etc/my.cnf
[mysqld]加

sql_mode=""
default_authentication_plugin=mysql_native_password

5) 重启mysql

systemctl restart mysql

6) 登录

mysql -uroot -p123456 -h192.168.101.100 -P8066 --default_auth=mysql_native_password

2)打开conf/log4j2.xml
修改日志级别为debug ,取消注释 Console

<asyncRoot level="debug" includeLocation="true">                                                                
             <AppenderRef ref="Console" />
             <AppenderRef ref="RollingFile"/>
        </asyncRoot>

3)关闭重新启动mycat

./mycat console

配置完毕,重开窗口登录mycat
分别执行更新和查询操作,查看前面窗口的日志

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值