700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > mysql读写分离中间件都有哪些_MySQL cetus 中间件 读写分离

mysql读写分离中间件都有哪些_MySQL cetus 中间件 读写分离

时间:2019-06-10 09:49:40

相关推荐

mysql读写分离中间件都有哪些_MySQL cetus 中间件 读写分离

首先需要确保mysql 的主从同步成功。

CentOS 系统可以通过以下命令安装依赖包:

yum install cmake gcc glib2-devel flex mysql-devel gperftools-libs zlib-devel -y

克隆获取源码:

创建编译目录:在源码主目录下创建独立的目录build,并转到该目录下:

cd cetus/

mkdir build/

cd build/

###编译:利用cmake进行编译,指令如下:

读写分离版本:

CFLAGS=’-g -Wpointer-to-int-cast’ cmake ../ -DCMAKE_BUILD_TYPE=Debug ->DCMAKE_INSTALL_PREFIX=/home/user/cetus_install -DSIMPLE_PARSER=ON

安装:执行make install进行安装:

make install

如果提示缺少什么.20文件,就需要建立相应的软连接到指定目录下

配置:Cetus运行前还需要编辑配置文件

d /home/user/cetus_install/conf/

cp XXX.json.example XXX.json

cp XXX.conf.example XXX.conf

vi XXX.json

vi XXX.conf

配置proxy.conf

proxy-address = 0.0.0.0:6001 //代理地址端口

proxy-backend-addresses=127.0.0.1:3306 //代理后台地址 即 读写分离主机地址

proxy-read-only-backend-addresses=114.55.106.24:3306 //代理只读后台地址 即 读写分离从机地址

admin-address=0.0.0.0:7001 后台命令行 登录地址端口

[cetus]

# For mode-switch

daemon = true

# Loaded Plugins

plugins=proxy,admin

# Defines the number of worker processes.

worker-processes=1

# Proxy Configuration, For example: MySQL master and salve host ip are both 192.0.0.1

proxy-address=0.0.0.0:6001

proxy-backend-addresses=127.0.0.1:3306

proxy-read-only-backend-addresses=114.55.106.24:3306

# Admin Configuration

admin-address=0.0.0.0:7001

admin-username=admin

admin-password=admin

# Backend Configuration, use test db and username created

default-db=xcd_p_fg_test

default-username=dbadmin

default-pool-size=100

max-resp-size=10485760

long-query-time=100

# File and Log Configuration, put log in /data and marked by proxy port, /data/cetus needs to be created manually and has rw authority for cetus os user

max-open-files = 65536

pid-file = cetus6001.pid

plugin-dir=lib/cetus/plugins

log-file=/data/cetus/cetus_6001.log

log-level=debug

# Check salve delay

disable-threads=false

check-slave-delay=true

slave-delay-down=5

slave-delay-recover=1

# For trouble

keepalive=true

verbose-shutdown=true

log-backtrace-on-crash=true

# For performance

enable-tcp-stream=true

enable-fast-stream=true

# For MGR

group-replication-mode=0

配置users.json

user 此为登录数据库用户名 主从同步中的主从数据库用户名需要一致。

client_pwd cetus客户端登录密码 最后和server_pwd 设置一致,避免其他问题。

server_pwd 此为登录数据库密码 主从同步中的主从数据库密码需要一致。

{

"users": [{

"user": "***",

"client_pwd": "***",

"server_pwd": "***"

}]

}

创建心跳库心跳表 并保证可以实现主从同步

create database proxy_heart_beat;use proxy_heart_beat;

CREATE TABLE `tb_heartbeat` (

`p_id` varchar(128) NOT NULL,

`p_ts` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),

PRIMARY KEY (`p_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

启动数据库

chmod 0660 proxy.conf //必须要设置下权限,不然无法运行

cd .. // 退到上一级目录

sudo bin/cetus –defaults-file=conf/proxy.conf –conf-dir=/home/user/cetus_install/conf///执行命令 两个减号

查看状态 查看配置的6001和7001 端口是否开启

netstat -ntlp

查看日志 查看主从服务器是否都启动成功

cd /data/cetus/

vi cetus_6001.log

尝试客户端连接 使用navcat连接 IP 端口 6001 用户密码为users.json配置

开启mysql 查询日志设置:主从都要设置

set global general_log =on;

set global log_output=’table’;设置日志输出方式为表

select * from mysql.general_log 查看操作日志

验证是否实现读写分离 在主库实现update ,主从都将会有update日志,select 日志 只会出现在从服务器。

登录后台管理

mysql –prompt=”admin> “ –comments -h127.0.0.1 -P7001 -uadmin -padmin

本作品采用《CC 协议》,转载必须注明作者和本文链接

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。