別々の読み取りと書き込みのクラスタを構築するには
MySQLのプロキシダウンロード
https://downloads.mysql.com/archives/proxy/
MySQLのプロキシインストール
名前が長すぎる、に彼の名前を変更したmysqlのプロキシ
MVのmysql-プロキシ-0.8.5-linuxの-EL6-x86-64bit / mysqlのプロキシ
MySQLの-proxy設定
作成のmysql-proxy.cnfファイルを
変更のmysql-proxy.cnfファイル許可します。chmod
修正 RW-splitting.luaスクリプト
テストを開始
現在のディレクトリには、MySQL-proxyコマンドを実行し、構成ファイルのMySQL-proxy.cnfのアドレスが続く(現在のディレクトリに、そう相対パスを記述し、ので、絶対パスを変更することができます)
./mysql-proxy --defaults-ファイル= mysqlの-proxy.cnf
[OK]を実行した後
このような再利用の接続テストは、接続を見つけることができました
mysqlの-uroot -proot -h192.168.68.4 -P4040
そして、データを更新し、主は、サーバからのデータと一緒に変化していることがわかりました
サブライブラリーのサブテーブル MyCat達成
何が MyCATは?
MyCat是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。
MyCat有哪些作用
目前虽然传统关系数据库存在一些列的先天弊端,但NoSQL数据库又将其替代,但是如果传统数据库易于扩展和分拆就可以极大的避免单机单库在数据增删改查方面的缺陷。
MyCAT的关键特性
支持 SQL 92标准
支持Mysql集群,可以作为Proxy使用
支持JDBC连接ORACLE、DB2、SQL Server,将其模拟为MySQL Server使用
支持galera for mysql集群,percona-cluster或者mariadb cluster,提供高可用性数据分片集群
自动故障切换,高可用性
支持读写分离,支持Mysql双主多从,以及一主多从的模式
支持全局表,数据自动分片到多个节点,用于高效表关联查询
支持独有的基于E-R 关系的分片策略,实现了高效的表关联查询
多平台支持,部署和实施简单
MyCAT架构
如图所示:MyCAT使用Mysql的通讯协议模拟成了一个Mysql服务器,并建立了完整的Schema(数据库)、Table (数据表)、User(用户)的逻辑模型,并将这套逻辑模型映射到后端的存储节点DataNode(MySQL Instance)上的真实物理库中,这样一来,所有能使用Mysql的客户端以及编程语言都能将MyCAT当成是Mysql Server来使用,不必开发新的客户端协议。
Mycat解决的问题
性能问题
数据库连接过多
E-R分片难处理
可用性问题
成本和伸缩性问题
Mycat读写分离
Mycat读写分离和自动切换机制,需要mysql的主从复制机制配合。