NSD DBA2 DAY05
1 案例1:搭建mycat 分片服务器
1.1 问题
- 数据库主机 192.168.4.55 使用db1库存储数据
- 数据库主机 192.168.4.56 使用db2库存储数据
- 主机 192.168.4.54 运行mycat服务,逻辑库名称为test,连接用户名为admin,密码123456
- 在主机 192.168.4.254 访问测试配置
1.2 方案
准备四台主机,搭建mycat分片服务器,通过某种特定条件,将存放在一个数据库(主机)中的数据,分散存放到多个数据库(主机)中,已达到分散单台设备负载的效果。其中192.168.4.56作为mycat服务器,192.168.4.54和192.168.4.55作为数据库服务器,192.168.4.254作为客户端。如图-1所示:
图-1
数据分片的拓扑如图-2所示:
图-2
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:公共配置
1)关闭防火墙和selinux,配置yum源(系统源),这里不再操作
2)把54,55还原成独立数据库服务器,且只保留默认4个库其他都删除,停止56主机的mha管理服务,下载mycat 软件到56主机
3)在54(主机c2)和55(主机c1)上面创建db1和db2库
- [root@c1 ~]# mysql -u root -p123456
- mysql> create database db1; //c1上面创建db1库
- Query OK, 1 row affected (0.00 sec)
- [root@c2 ~]# mysql -u root -p123456
- mysql> create database db2; //c2上面创建db2库
- Query OK, 1 row affected (0.00 sec)
在54上面授权一个用户
- mysql> grant all on *.* to admin@"%" identified by "123456";
- Query OK, 0 rows affected, 1 warning (0.00 sec)
在55上面授权一个用户
- mysql> grant all on *.* to admin@"%" identified by "123456";
- Query OK, 0 rows affected, 1 warning (0.00 sec)
4)修改数据库的配置文件
注意:1代表不区分表名的大小写,0为区分大小写
主机c1上面:
- [root@c1 ~]# vim /etc/my.cnf
- [mysqld]
- lower_case_table_names=1 //表名忽略大小写
- [root@c1 ~]# systemctl restart mysqld
主机c2上面:
- [root@c2 ~]# vim /etc/my.cnf
- [mysqld]
- lower_case_table_names=1
- [root@c2 ~]# systemctl restart mysqld
5)在56主机上面安装JDK
- [root@mycat ~]# rpm -qa | grep -i jdk //安装自带的即可
- java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
- java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
- copy-jdk-configs-2.2-3.el7.noarch
- [root@mycat ~]# yum -y install java-1.8.0-openjdk
6ÿ