Mycat安装和测试
准备工作:
1 | IP主机名数据库名安装软件 |
1.安装mysql客户端
1 | [root@master ~]# yum -y install mysql |

2.安装mysql服务端
1 | [root@master ~]# yum -y install mysql-server |
3.添加mysql用户及权限并配置数据库
1 | 三台服务器都安装mysql以后 ,三台机器同样配置数据库 |
3.1.配置编码格式,vi /etc/my.cnf ,添加default-character-set=utf8
1 | [root@master ~]# vi /etc/my.cnf |

1 | default-character-set=utf8 |

3.2.添加开机启动项
1 | [root@master ~]# chkconfig --add mysqld |

1 | [root@slave1 ~]# chkconfig --add mysqld |
3.3.启动mysql
1 | [root@master ~]# service mysqld start |
3.4.配置root用户并设置密码
1 | master主机.slave1主机.salve2主机,三台主机的mysql均进行如下配置 |
1 | [root@master ~]# mysql -uroot -p |

1 | mysql> update user set password = PASSWORD('123456') where user = 'root'; |


3.5.添加新用户
1 | mysql> insert into mysql.user(Host,User,Password) values("%","mycat",password("123456")); |

3.6.赋予权限
1 | mysql> grant all privileges on *.* to 'mycat'@'%' identified by '123456'; |

3.7.刷新权限
1 | mysql> flush privileges; |


3.8.登录新建的用户并创建响应的数据库
1 | 不同机器数据库名不同 |
1 | [root@master ~]# mysql -umycat -p |

1 | [root@slave1 ~]# mysql -umycat -p |

1 | [root@slave2 ~]# mysql -umycat -p |

4.安装Mycat
4.1.解压mycat压缩文件到指定目录下
1 | [root@master software]# tar -zxf Mycat-server-1.4-release-20151019230038-linux.tar.gz -C /opt/modules |


4.2.配置环境变量
1 | [root@master modules]# vi ~/.bash_profile |


4.3.通过配置sh /opt/modules/mycat/bin/mycat start执行开机启动
1 | 也可以自己写脚本加入init服务 |

4.4.创建新的用户组和用户
1 | 创建一个新的group |

1 | 给新用户设置密码 |

4.5.配置mycat配置文件
4.5.1.在三台mysql的配置文件vi /etc/my.cnf中
1 | 加入lower_case_table_names = 1来忽略大小写 |

4.5.2.编辑schema.xml文件
1 | 先备份一下 |
1 | [root@master conf]# cp schema.xml schema.xml.tmp |

1 | [root@master conf]# vi schema.xml |
1 |
|


4.5.3.编辑server.xml文件
1 | [root@master conf]# vi server.xml |
1 |
|

4.5.4.修改conf下的partition-hash-int.txt文件
1 | 在下面添加10020=2, |
1 | [root@master conf]# vi partition-hash-int.txt |

5.测试mycat
5.1.启动mycat,执行mycat start
1 | [root@master mycat]# ./bin/mycat start |

5.2.查看mycat是否启动成功
1 | tail -100 /opt/modules/mycat/logs/wrapper.log查看结果如下就表明启动成功了 |


5.2.1.测试下8066端口
1 | [root@master conf]# telnet master 8066 |

5.3.测试mysql表横向分割
5.3.1.在虚拟机外的windows安装Navicat for MySQL,分别连接到三个mysql数据库,执行建表语句
1 | create table employee (id int not null primary key,name varchar(100),sharding_id int not null); |

5.3.2.用Navicat for MySQL连接mycat,mycat默认端口是8066,配置如图:

5.3.3.插入数据
1 | 因为刚才执行了建表语句,这时候连接上了mycat里面也有一个空的employee表 |

5.3.4.查看mycat中的employee表

5.3.5.查看master连接中db1数据库的employee表

5.3.6.查看slave1连接中db2数据库的employee表

5.3.7.查看slave2连接中db3数据库的employee表

1 | 发现每个库存了两条数据 |
本文作者 : Matrix
原文链接 : https://matrixsparse.github.io/2016/02/12/Mycat安装和测试/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
知识 & 情怀 | 二者兼得