«
MySQL主从复制+MySQL读写分离

时间:2022-7-17     作者:李泽信     分类: MySQL


系统类型 IP 主机名 所需软件 硬件
centos7.8 192.168.100.105 master boost_1_59_0.tar.gz mysql-5.7.12.tar.gz 内存:4G
centos7.8 192.168.100.106 slave boost_1_59_0.tar.gz mysql-5.7.12.tar.gz 内存:4G
centos7.8 192.168.100.107 mycat jdk-8u171-linux-x64.tar.gz Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz 内存:512M
centos7.8 192.168.100.108 lamp 内存:512M
[root@mycat ~]# tar xf jdk-8u171-linux-x64.tar.gz
[root@mycat ~]#  mv jdk1.8.0_171/ /usr/local/java
[root@mycat ~]#  vi /etc/profile
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
[root@mycat ~]# source /etc/profile
[root@mycat ~]# tar xf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
[root@mycat ~]# mv mycat/ /usr/local/
[root@mycat ~]# ls /usr/local/mycat/
bin  catlet  conf  lib  logs  version.txt
[root@master ~]# mysql -uroot -p123123
mysql> grant all on *.* to 'linux'@'192.168.100.107' identified by '123123';
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
[root@mycat ~]# vi /usr/local/mycat/conf/schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">

        <schema name="VIR" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1" ></schema>

        <dataNode name="dn1" dataHost="node1" database="cloud" />

        <dataHost name="node1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="192.168.100.105" url="192.168.100.105:3306" user="linux" password="123123">
                        <readHost host="192.168.100.106" url="192.168.100.106:3306" user="linux" password="123123" />
                </writeHost>
        </dataHost>
</mycat:schema>

[root@mycat ~]# vi /usr/local/mycat/conf/server.xml
     80         <user name="admin">                 ##管理员账户
     81                 <property name="password">admin</property>
     82                 <property name="schemas">VIR</property>
     95         <user name="user">                  ##普通用户,只读权限
     96                 <property name="password">user</property>
     97                 <property name="schemas">VIR</property>
     98                 <property name="readOnly">true</property>
     99         </user>

[root@mycat ~]# vi /usr/local/mycat/conf/log4j2.xml
     25         <asyncRoot level="debug" includeLocation="true">

[root@mycat ~]# /usr/local/mycat/bin/mycat start
Starting Mycat-server...
[root@mycat ~]# netstat -utpln |grep 8066
tcp        0      0 0.0.0.0:8066            0.0.0.0:*               LISTEN      13090/java
[root@mycat ~]# netstat -utpln |grep 9066
tcp        0      0 0.0.0.0:9066            0.0.0.0:*               LISTEN      13090/java
[root@mycat ~]# tail /usr/local/mycat/logs/wrapper.log              ##服务日志
[root@mycat ~]# tail /usr/local/mycat/logs/mycat.log                    ##读写分离日志
[root@master ~]# mysql -uroot -p123123
mysql> create database cloud;
Query OK, 1 row affected (0.00 sec)
mysql> create table cloud.it (id int,name char(16));
Query OK, 0 rows affected (0.02 sec)
mysql> exit
[root@lamp ~]# mysql -uadmin -padmin -h 192.168.100.107 -P 8066
MySQL [(none)]> show databases;
+----------+
| DATABASE |
+----------+
| VIR      |
+----------+
1 row in set (0.00 sec)

MySQL [(none)]> use VIR;
MySQL [VIR]> show tables;
+-----------------+
| Tables_in_cloud |
+-----------------+
| it              |
| it1             |
+-----------------+
2 rows in set (0.01 sec)