准备好环境,mysql主从
主节点:192.168.37.101
从节点:192.168.37.100
配置不同的server-id,主的小于从
并开启log-bin
mysql> grant all privileges on *.* to 'myslave'@'192.168.37.100' identified by 'myslave' with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
得到master的log文件
mysql> show master status
-> ;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 356 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
从节点,设置server-id,开启log-bin
mysql> stop slave;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> change master to master_host='192.168.37.101',master_user='myslave',master_password='myslave',master_log_file='mysql-bin.000001';
Query OK, 0 rows affected (0.10 sec)
mysql> start slave;
Query OK, 0 rows affected (0.01 sec)
如上主从环境测试成功。
为了使用SqlYog连上,可以设置root的远程授权(非必须)
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
Query OK, 0 rows affected (0.00 sec)
mycat的安装启动
下载上传到服务器,解压到/usr/local下,即能用(前提有jdk环境)
conf/server.xml配置一个用户
<user name="mycat">
<property name="password">123456</property>
<property name="schemas">TESTDB</property>
</user>
conf/schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"></schema>
<dataNode name="dn1" dataHost="host1" database="testdb" />
<dataHost name="host1" 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.37.101:3306" user="root"
password="123456">
<readHost host="hostS2" url="192.168.37.100:3306" user="root" password="123456" />
</writeHost>
</dataHost>
</mycat:schema>
启动,进入到bin目录,执行如下命令
[root@k8s-node1 bin]# ./mycat
Usage: ./mycat { console | start | stop | restart | status | dump }
[root@k8s-node1 bin]# ./mycat start
Starting Mycat-server...
[root@k8s-node1 bin]# ./mycat status
Mycat-server is running (82222).
mycat默认使用8066端口,我们使用sqlYog,用我们自定义的用户密码连接mycat,成功。