博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关系型数据库分布式中间件 mycat 部署
阅读量:5907 次
发布时间:2019-06-19

本文共 3532 字,大约阅读时间需要 11 分钟。

hot3.png

关系型数据库分布式中间件 mycat 部署

本指南主要针对 mysql 数据库

1 平台需求

  • (1) 操作系统:CentOS 7.2 (1511)
  • (2) JDK:1.8(1.7以上均可)

注:安装 可使用

yum install java-1.8.0-openjdk-devel.x86_64
  • (3) mycat

下载

wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

如果链接失效,请登录 手动下载

2 安装 MySQL 节点

一共有三个 mysql 节点,分别是

IP地址         主机名 10.20.17.129   centos-broker1 10.20.17.139   centos-broker2 10.20.17.149   centos-broker3

三个节点都做如下安装:

# 禁用并停止防火墙systemctl disable firewalldsystemctl stop firewalld# 安装数据库# 数据库安装yum install mariadb mariadb-server#配置nano /etc/my.cnf[mysqld]bind-address = 0.0.0.0default-storage-engine = innodbinnodb_file_per_tablecollation-server = utf8_general_ciinit-connect = 'SET NAMES utf8'character-set-server = utf8lower_case_table_names = 1 # 忽略大小写# 启动数据库服务,并将其配置为开机自启systemctl enable mariadb.servicesystemctl start mariadb.service# 设置root用户密码,并进行初始设置mysql_secure_installation# 设定初始密码为 1mysqladmin -u root password 1# 此时会要求你输入老的密码,第一次设定没有老密码,直接按回车就好# 登陆数据库mysql -u root -p1# 创建数据库 create database db1 character set utf8;# 赋root远程访问权GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1';

3 安装(Mycat节点)

mycat 节点 IP 为 10.20.17.239

# 修改 hosts 添加下列项目nano /etc/hosts...10.20.17.129   centos-broker110.20.17.139   centos-broker210.20.17.149   centos-broker3...# 测试 ping 主机名ping centos-broker1ping centos-broker2ping centos-broker3# 解压到指定位置cp Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz /usr/localcd /usr/localtar -xvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gzrm -rf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz# 修改 /etc/profile 加入环境变量nano /etc/profileMYCAT_HOME=/usr/local/mycat# 如下:# /etc/profile# System wide environment and startup programs, for login setup# Functions and aliases go in /etc/bashrcMYCAT_HOME=/usr/local/mycat# 刷新环境变量source /etc/profile

4 配置 mycat

mycat 的主要配置文件存放于 /etc/local/mycat/conf 下,这里主要涉及三个配置文件,分别是 server.xml,schema.xmlrule.xml

  • server.xml 是 mycat 的系统配置

下面说明,定义了一个 mycat 的逻辑用户 root, 其密码为 123456,并拥有一个 database 为 TESTDB。

123456
TESTDB
  • schema.xml 是 mycat 的系统配置

数据节点配置

定义了三个 dataNode 分别为 dn1, dn2, dn3, 分别对应 三个主机 mysql 服务器中的 db1 数据库。

数据主机配置

下面部分是对 dataHost 的配对说明,以 centos-broker2为例子,它的writeHost中定义了centos-broker2中mysql数据库的连接配置,用户名是 root,密码是 1。

select user()
select user()
select user()

逻辑表规则配置

配置了 逻辑表 travelrecord, 对应数据节点 dn1, dn2, dn3, 使用 mod-long (取模)规则,此规则与 dataHost 数量是相关的

注意 rule.xml 中的配置

这是初始定义的规则,说明内容使用的方法,根据那个字段起作用。

id
mod-long

真正的算法实现,要根据 dataHost 数量修改 <property name="count">3</property>

3

5 启动关闭 mycat

cd /etc/usr/local/mycat/bin# 启动, 关闭可以使用 ./mycat stop./mycat start

6 使用 navicat for mysql 访问 mycat

mycat 作为一个总 mysql 网关,管理起来背后三个 mysql 节点,此时访问 mysql 只看到了一个逻辑上的数据库和内部的逻辑表。

使用 navicat 时,配置如下:

IP: 10.20.17.239PORT: 8066数据库: TESTDB

mycat 中的逻辑表初始创建

在进入 navicat 后,你会看到 travelrecord 等相关 逻辑表,但是其实是不可使用的,必须进行创建。创建后,才会在 三个数据节点上创建真正的 物理表。之后,您就可以进行任意的 SQL 操作了。

CREATE TABLE `travelrecord` (`id`  bigint(20) NOT NULL ,`user_id`  varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`traveldate`  date NULL DEFAULT NULL ,`fee`  decimal(10,0) NULL DEFAULT NULL ,`days`  int(11) NULL DEFAULT NULL ,PRIMARY KEY (`id`))

转载于:https://my.oschina.net/crooner/blog/839747

你可能感兴趣的文章
海外旅游最常用的100句英语口语
查看>>
http协议进阶(五)连接管理
查看>>
服务器创建好后怎样使用远程连接工具链接的一些问题
查看>>
插件~NuGet与packages管理项目的包包
查看>>
linux卸载nomachine,NoMachine 安装与配置及使用
查看>>
企业shell常见面试题及企业实战案例深入浅出讲解
查看>>
nginx js、css多个请求合并为一个请求(concat模块)
查看>>
mybatis实战教程(mybatis in action)之五:与spring3集成
查看>>
解决浏览器Adobe Flash Player不是最新版本问题
查看>>
SQLite 约束
查看>>
Python爬虫学习——使用Cookie登录新浪微博
查看>>
linux配置网络
查看>>
vsftp 500 OOPS: cannot change directory:/home/xyp
查看>>
Java对ad操作
查看>>
unity与android交互总结
查看>>
linux下uboot kernel操作cpu寄存器
查看>>
android:launchMode小分析
查看>>
大转变,苹果或于明年推出使用 ARM 芯片的 Mac
查看>>
Docker 容器与主机时间同步
查看>>
爬虫基础-http请求的基础知识
查看>>