简介

kingshard是一个由Go开发高性能MySQL Proxy项目,kingshard在满足基本的读写分离的功能上,致力于简化MySQL分库分表操作;能够让DBA通过kingshard轻松平滑地实现MySQL数据库扩容。 kingshard的性能是直连MySQL性能的80%以上。

kingshard官方简介

安装

安装kingshard

安装Go语言环境,git clone kingshard源码。

1git clone https://github.com/flike/kingshard.git src/github.com/flike/kingshard
2
3cd src/github.com/flike/kingshard
4
5source ./dev.sh
6
7mkdir /usr/local/kingshard
8cp -R bin/ /usr/local/kingshard/

配置文件:

 1mkdir /var/log/kingshard
 2mkdir /usr/local/kingshard/etc
 3vi /usr/local/kingshard/etc/ks.yaml
 4
 5addr : 0.0.0.0:9696
 6user :  kingshard
 7password : kingshard
 8
 9web_addr : 0.0.0.0:9797
10web_user : admin
11web_password : admin
12
13log_level : debug
14log_sql : on
15#slow_log_time : 100
16log_path : /var/log/kingshard
17
18proxy_charset: utf8mb4
19
20nodes :
21-
22    name : node1
23    max_conns_limit : 16
24    user :  dbuser
25    password : dbpwd
26    
27    master : db1:3306
28    
29    slave : db2:3306@2,db3:3306@3
30    down_after_noalive : 300
31
32schema :
33    nodes: [node1]
34    default: node1

创建systemd的服务文件/usr/lib/systemd/system/kingshard.service

 1[Unit]
 2Description=kingshard mysql proxy
 3After=network.target
 4
 5[Service]
 6Type=simple
 7WorkingDirectory=/usr/local/kingshard
 8ExecStart=/usr/local/kingshard/bin/kingshard -config=etc/ks.yaml
 9Restart=on-failure
10
11[Install]
12WantedBy=multi-user.target
1systemctl start kingshard
2systemctl enable kingshard

参考