mysql中间件kingshard安装

1,安装go语言环境,(Go版本要求1.3以上)

wget https://storage.googleapis.com/golang/go1.6.3.linux-amd64.tar.gz

tar -C /usr/local/ -xzf go1.6.3.linux-amd64.tar.gz

配置环境变量,在/etc/profile中加入下列设置:

export GOROOT=/usr/local/go

export PATH=$GOROOT/bin:$PATH

创建工作区/usr/local/go/work(自己指定目录),在/etc/profile中加入下列设置:

export GOPATH=/usr/local/go/work

2,安装git

yum install -y git

3,安装kingshard

git clone https://github.com/flike/kingshard.git src/github.com/flike/kingshard

cd src/github.com/flike/kingshard

source ./dev.sh

make

4, 设置配置文件

etc目录下面有两个配置文件模板,对应shard和非shard版本,可根据需求自由选择。

cat unshard.yaml

addr : 0.0.0.0:9696

user :  kingshard

password : kingshard

log_level : warn

nodes :

-

name : node1

max_conns_limit : 32

user :  kingshard

password : kingshard

master : 172.31.18.104:3306

slave : 172.31.18.105:[email protected],172.31.38.150:[email protected]

down_after_noalive : 32

schema :

db : kingshard

nodes: [node1]

default: node1

shard:

-

5,按照配置文件里面的设置对用户授权

GRANT ALL PRIVILEGES ON *.* TO ‘kingshard‘@‘172.31.38.151‘ IDENTIFIED BY ‘kingshard‘;

7. 运行kingshard。

./bin/kingshard -config=etc/unshard.yaml

ps -ef | grep kingshard

root      6942 26963  0 02:44 pts/2    00:00:00 ./bin/kingshard -config=etc/unshard.yaml

8. 配置文件参数说明

# kingshard的地址和端口

addr : 0.0.0.0:9696

# 连接kingshard的用户名和密码

user :  kingshard

password : kingshard

# log级别,[debug|info|warn|error],默认是error

log_level : debug

# 打开SQL日志,设置为on;关闭SQL日志,设置为off

log_sql : on

#如果设置了该项,则只输出SQL执行时间超过slow_log_time(单位毫秒)的SQL日志,不设置则输出全部SQL日志

slow_log_time : 100

#日志文件路径,如果不配置则会输出到终端。

log_path : /Users/flike/log

# sql黑名单文件路径

# 所有在该文件中的sql都会被kingshard拒绝转发

#blacklist_sql_file: /Users/flike/blacklist

# 只允许下面的IP列表连接kingshard,如果不配置则对连接kingshard的IP不做限制。

allow_ips: 127.0.0.1

# kingshard使用的字符集,如果不设置该选项,则kingshard使用utf8作为默认字符集

#proxy_charset: utf8mb4

# 一个node节点表示mysql集群的一个数据分片,包括一主多从(可以不配置从库)

nodes :

-

#node节点名字

name : node1

# 连接池中最大空闲连接数,也就是最多与后端DB建立max_conns_limit个连接

max_conns_limit : 16

# kingshard连接该node中mysql的用户名和密码,master和slave的用户名和密码必须一致

user :  kingshard

password : kingshard

# master的地址和端口

master : 127.0.0.1:3306

# slave的地址、端口和读权重,@后面的表示该slave的读权重。可不配置slave

#slave : [email protected],[email protected]

#kingshard在300秒内都连接不上mysql,kingshard则会下线该mysql

down_after_noalive : 300

-

name : node2

max_conns_limit : 16

user :  kingshard

password : kingshard

master : 192.168.59.103:3307

slave :

down_after_noalive: 100

# 分表规则

schema :

#分表使用的db,所有的分表必须都在这个db中,连接ks时如果没有指定database默认使用该db。

db : kingshard

#分表分布的node名字

nodes: [node1,node2]

#所有未分表的SQL,都会发往默认node。

default: node1

shard:

-

#分表名字

table: test_shard_hash

#分表字段

key: id

#分表分布的node

nodes: [node1, node2]

#分表类型

type: hash

#子表个数分布,表示node1有4个子表,

#node2有4个子表。

locations: [4,4]

-

#分表名字

table: test_shard_range

#分表字段

key: id

#分表类型

type: range

#分表分布的node

nodes: [node1, node2]

#子表个数分布,表示node1有4个子表,

#node2有4个子表。

locations: [4,4]

#表示每个子表包含的最大记录数,也就是说每

#个子表最多包好10000条记录。即子表1对应的id为[0,10000),子表2[10000,20000)....

table_row_limit: 10000

kingshard采用的是yaml方式解析配置文件,需要注意的是yaml配置文件不允许出现tab键,且冒号后面需要跟一个空格。配置文件编写完成后,可以在yaml lint网站验证是否有格式错误

参考:https://github.com/flike/kingshard/blob/master/doc/KingDoc/kingshard_install_document.md

时间: 2024-11-07 02:55:20

mysql中间件kingshard安装的相关文章

MySQL中间件之ProxySQL(1):简介和安装

1.ProxySQL简介 之前的文章里,介绍了一个MySQL的中间件:MySQL Router.详细内容参见:MySQL Router实现MySQL的读写分离. 这里准备用一个系列来详细介绍一个能实实在在用在生产环境的MySQL中间件:ProxySQL.它有两个版本:官方版和percona版,percona版是在官方版的基础上修改的,添加了几个比较实用的工具.在我这个系列文章中,我使用的是官方版. 官方站点:官方站点 官方github:官方github 官方手册:官方手册 percona Pro

MySQL中间件之MyCat

MySQL中间件之MyCat 一.MyCat基础概念 1.什么是MyCat 一个彻底开源的,面向企业应用开发的大数据库集群支持事务.ACID.可以替代MySQL的加强版数据库一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群一个融合内存缓存技术.NoSQL技术.HDFS大数据的新型SQL Server结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品一个新颖的数据库中间件产品 2.为什么使用MyCat 如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到

Linux之mysql的编译安装(1)

centos6.6 编译安装MySQL5.6 [本文档所介绍的内容适用于公司测试/生产等常见的MySQL数据库环境部署] 一:环境部署前准备: 1.1相关软件以及系统 系统要求:Centos 6.6 (64位) 相关中间件:  mysql-5.6.23 1.2相关系统依赖包安装检查准备 1.2.1 检查系统自带mysql是否安装 # rpm -qa | grep mysql 如有安装,请使用以下命令卸载相关程序 # yum remove  mysql 1.2.2 安装系统相关的编译环境:mysq

linux下mysql多实例安装(转)

转自:http://www.cnblogs.com/xuchenliang/p/6843990.html 1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务:: 1.2.MySQL多实例的特点有以下几点 1:有效利用服务器资源,当单个服务器资源有剩余时,可以充分利用剩余的资源提供更多的服务. 2:节约服务器资源 3:资源互相

apache/mysql/php编译安装及支持xcache和fastcgi方式运行

一.编译安装apache     1.安装环境:yum install gcc gcc-c++ openssl-devel libtool -y     2.安装apr.apr-util及pcre         tar jxf apr-1.5.1.tar.bz2         cd apr-1.5.1         ./configure --prefix=/usr/local/apr         make && make install              tar jxf

mysql数据库的安装以及常见优化设置

原文:mysql数据库的安装以及常见优化设置 本文根据优才网课程整理,面向web开发者,内容以实用为主,专业DBA可以绕行. 如果你在大公司,可能有专门的DBA来做这些事情,如果你在一个小公司当架构师或者技术总监,或者你自己创业,那DBA的活你也得干了.咱们来讲一下基本的mysql安装和优化. 一: MYSQL安装和基本配置 在linux上安装,可以用包管理工具来安装,比较简单:RedHat 系列:yum -y install mysql mysql-server Debian系列:sudo a

【原】无脑操作:Windows 10 + MySQL 5.5 安装使用及免安装使用

本文介绍Windows 10环境下, MySQL 5.5的安装使用及免安装使用 资源下载: MySQL安装文件:http://download.csdn.net/detail/lf19820717/9892711 MySQL免安装文件:http://download.csdn.net/detail/lf19820717/9892716 ---------------------------------------------------------------------------------

MySQL多实例安装配置

MySQL多实例安装配置 一.基本概念 MySQL多实例就是,在一台机器上开启多个不同的服务端口(如:3306,3307,3308...),运行多个MySQL服务进程,这些服务进程通过不同的socket监听不同的端口提供服务. MySQL可以共用一套安全程序,使用不同的my.cnf配置文件,启动程序,数据文件. 逻辑上是独立的,但是一个实例过载过高的时候会对其他造成影响. MySQL多实例的作用与问题: 1.有效利用服务器资源 2.节约服务器资源 3.资源互相抢占问题 当某个服务实现并发生很高的

Windows下MySQL多实例安装/主从复制/重置密码

Windows创建MySQL多实例 安装MYSQL和实例1 运行mysql-installer-community-5.7.16.0.msi 选择组件 MySQL Server 5.7.16 – X64 MySQL Utilities 1.6.4 – X64 MySQL Workbench 6.3.7 – X64 执行安装 配置端口3306 Windows Service Name设置为MYSQL 复制实例 将C:\ProgramData\MySQL\MySQL拷贝为MYSQL1和MYSQL2文