Arkproxy 是高性能、高可靠的数据库中间件,由极数云舟出品开源。
Arkproxy 介绍 | ArkDB介绍 | 关于极数云舟
# 适用于 centos7/x86_64 系统
curl -sL -o /usr/local/bin/arkproxy https://github.com/arkdb/arkproxy/releases/download/v20.06.30/arkproxy
chmod +x /usr/local/bin/arkproxy
/usr/local/bin/arkproxy --version
# 以下环境为 centos7/x86_64 系统
# 1. 开发工具
yum install cmake git gcc gcc-c++ bison rpm-build \
libxml2-devel libevent-devel ncurses-devel openssl-devel
# 2. 依赖库
git clone git@github.com:edenhill/librdkafka.git
cd librdkafka
./configure --install-deps --source-deps-only --disable-gssapi --disable-sasl \
--disable-zstd --enable-static
make && make install
# 3. 编译 Arkproxy
git clone git@github.com:arkdb/arkproxy.git
cd arkproxy
./build.sh
install -v out/sql/arkproxy /usr/local/bin/arkproxy
创建配置文件
curl -sL -o /etc/arkproxy.cnf https://raw.githubusercontent.com/arkdb/arkproxy/master/arkproxy.cnf.example
注:
1) 请按需修改配置文件 /etc/arkproxy.cnf
,根据实际环境情况替换 proxy_backend_user、proxy_backend_passwd、backend_host、backend_port 以及各节点的路由类型,可参考详细的配置参数
2) 同一类型的路由,不能设置多次,比如 readonly,只能有一个配置区块,如果对应多个 Server,则可以将多个Server的名字写到 router_servers 中,逗号分隔放在一行 3) 必须的配置项
proxy_backend_user
和 proxy_backend_passwd
, 用来连接后端 MySQL 数据库集群的用户名和密码,在后端数据库写节点 grant 授权proxy_shell_username
和 proxy_shell_password
, 在arkproxy.cnf 文件中配置用户和密码,通过其访问Arkproxy管理shell端口构建 ArkDB 数据库集群或者使用已有的 MySQL 集群,并授权 Arkproxy,(附: ArkDB 的下载和安装 )
登录数据库集群写节点执行:
GRANT ALL PRIVILEGES ON *.* TO 'arkproxy'@'127.0.0.1' IDENTIFIED BY 'arkproxy' WITH GRANT OPTION ;
GRANT ALL PRIVILEGES ON *.* TO 'arkproxy'@'%' IDENTIFIED BY 'arkproxy' WITH GRANT OPTION;
只需要授权配置文件中的 proxy_backend_user 和 proxy_backend_passwd 即可。而 proxy_shell_username && proxy_shell_password 是 Arkproxy 管理端口,不需要在写入节点进行授权。
启动 Arkproxy:
/usr/local/bin/arkproxy --defaults-file=/etc/arkproxy.cnf &
业务访问 (DEV/应用程序):
mysql -uarkproxy -parkproxy -P3336 -h127.0.0.1 -A
Arkproxy 管理(DBA/管理员):
mysql -uproxyshell -ppassword -P3335 -h127.0.0.1 -A
输入 config help
可看到支持的指令列表,详细的命令说明
任何意见建议欢迎在 issues 中反馈,或者联系 opensource@cloud-ark.com
AiDBA详解系列(三)Arkproxy:兼容MySQL的轻量级中间件
AiDBA 详解系列(一)AiDBA 综述:做一个化解DBA身边种种难题的哆啦A梦
AiDBA 详解系列(二)Arkwatch:MySQL 高可用解决方案集大成者
AiDBA 详解系列(三)Arkproxy:兼容MySQL的轻量级中间件
AiDBA 详解系列(四)企业业务数据整合利器-异构数据同步系统 Arkgate
AiDBA 详解系列(五):数据库管理远程的手 Arkagent
AiDBA 详解系列(六):数据库云管平台 Arkcontrol 功能概览
AiDBA 详解系列(七):Arkcontrol 的服务层设计与实现
AiDBA 详解系列(八):Arkcontrol 展示层设计与实现
AiDBA 详解系列(九): Arkcontrol 数据存储的设计
AiDBA 详解系列(十)MySQL 智能运维:DBA 身边的好帮手
AiDBA 详解系列(十一): Arkcontrol 对 ArkDB 的运维支持
AiDBA 详解系列(十二): Arkcontrol 对 Redis 的运维支持
AiDBA 详解系列(十三): Arkcontrol 对 Oracle 数据库的运维支持
AiDBA 详解系列(十四): Arkcontrol 对 MongoDB 的运维支持
AiDBA 详解系列(十五): Arkcontrol 对 AiDBA 组件产品的运维支持
AiDBA 详解系列(十六)SQL审核与执行:把风险 SQL 扼杀在摇篮
AiDBA 详解系列(十七): Arkcontrol 智能 SQL 优化(推荐SQL索引)
AiDBA 详解系列(十八): Arkcontrol 的数据库备份与恢复