Mycat适用的场景很丰富,以下是几个典型的应用场景
Mycat长期路线图
强化分布式数据库中间件的方面的功能,使之具备丰富的插件、强大的数据库智能优化功能、全面的系统监控能力、以及方便的数据运维工具,实现在线数据扩容、迁移等高级功能进一步挺进大数据计算领域,深度结合Spark Stream和Storm等分布式实时流引擎,能够完成快速的巨表关联、排序、分组聚合等 OLAP方向的能力,并集成一些热门常用的实时分析算法,让工程师以及DBA们更容易用Mycat实现一些高级数据分析处理功能不断强化Mycat开源社区的技术水平,吸引更多的IT技术专家,使得Mycat社区成为中国的Apache,并将Mycat推到Apache基金会,成为国内顶尖开源项目,最终能够让一部分志愿者成为专职的Mycat开发者,荣耀跟实力一起提升
#每台服务器上都初始化,关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
(1)#修改配置文件
vim /etc/my.cnf
server-id = 1
log-bin=master-bin
binlog_format=MIXED
log-slave-updates=true
(2)#重启服务
systemctl restart mysqld
(3)#进入数据库授权,查看二进制文件及节点号
mysql -uroot -p123123
grant replication slave on *.* to 'myslave'@'172.16.10.%' identified by '123123';
flush privileges;
show master status;
(4)#在数据库中传入一个数据库文件hellodb
source /bak/test.sql
(1)#修改配置文件
vim /etc/my.cnf
server-id = 2
relay-log=relay-log-bin
relay-log-index=slave-relay-bin.index
(2)#重启服务
systemctl restart mysqld
(3)#进入数据库授权,查看二进制文件及节点号
mysql -uroot -p123123
change master to master_host='172.16.10.123',master_user='myslave',master_password='123123',master_log_file='master-bin.000001',master_log_pos=603;
start slave;
show slave status\G;
##一定要出现
#Slave_IO_Running: Yes
#Slave_SQL_Running: Yes
(1)#主机上安装java
yum install java -y
(2)#创建/apps文件夹
mkdir /apps
(3)#网络下载mycat包并解压至/apps下
wget http://dl.mycat.org.cn/1.6.7.6/20210303094759/Mycat-server-1.6.7.6-release-20210303094759-linux.tar.gz
tar zxvf Mycat-server-1.6.7.6-release-20210303094759-linux.tar.gz -C /apps/
(4)#设置变量环境
echo 'PATH=/apps/mycat/bin:$PATH' > /etc/profile.d/mycat.sh
source /etc/profile.d/mycat.sh
(5)#启动mycat
mycat start
(6)#查看日志文件,最后可以看到启动成功
tail -f /apps/mycat/logs/wrapper.log
#这里密码初始为123456 需要加端口
mysql -uroot -p123456 -h 172.16.10.135 -P8066
vim /apps/mycat/conf/server.xml
#去掉44行注释,50行末注释,51行末注释
#第45行,修改端口号
3306
#密码用户 在110 和111 可以修改这边不修改了
mysql -uroot -pabc123
GRANT ALL ON *.* TO 'root'@'172.16.10.%' IDENTIFIED BY '123123';
#查看创建成功
use mysql;
select user,host from user;
(1)#删除所有内容,重新写入以下
vim /apps/mycat/conf/schema.xml
select user()
(2)#如果本地mycat服务器上安装了mysql需要关掉,否则端口会冲突
systemctl stop mysqld.service
(3)#重启mycat,并查看3306端口
mycat restart
ss -antp|grep 3306
#这时可以不加端口直接进入数据库了
mysql -uroot -pabc123 -h 172.16.10.135
#看是否能查到表
mysql -uroot -pabc123 -h 172.16.10.135
show databases;
use TESTDB;
show tables;
#查看当前的查询来自哪台服务器
select @@server_id;
#在主、从服务器打开日志
set global general_log=1;
#在客户机查看是否开启成功
show variables like 'general%';
#在主从服务器实时查看日志
tail -f /usr/local/mysql/data/localhost.log
#在客户机上汪表里插入数据,并查看主从服务器实时日志
insert into teachers values(5,'lao wang',46,'男');
#在客户机查看表信息,并查看主从服务器实时日志
select * from teachers;