首页 文章 精选 留言 我的

精选列表

搜索[快速入门],共10006篇文章
优秀的个人博客,低调大师

KingShard MySQL中间件快速入门

kingshard 是一个由Go开发高性能MySQL Proxy项目. 功能简介: 读写分离 分库分表 数据库扩容 具体功能查看官方文档,这次主要是自己动手搭建基于Kingshard的MySQL集群。 环境 Docker Go CentOS 7 过程 安装Go语言 yum install golang -y 安装Kingshard git clone https://github.com/flike/kingshard.git src/github.com/flike/kingshard cd src/github.com/flike/kingshard source ./dev.sh make 至此已经算安装了Kingshard,其配置文件等会再做修改 拉取MysqL镜像,并启动两台MySQL实例 docker pull mysql:5.6 docker run --name mysql1 -d -p3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6 docker run --name mysql2 -d -p3308:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6 初始化两台MySQL数据库,创建测试所需的表 这个语句比较枯燥,粘贴就好了 create database kingshard; use kingshard; CREATE TABLE `test_shard_hash_0000` ( `id` bigint(64) unsigned NOT NULL, `str` varchar(256) DEFAULT NULL, `f` double DEFAULT NULL, `e` enum('test1','test2') DEFAULT NULL, `u` tinyint(3) unsigned DEFAULT NULL, `i` tinyint(4) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `test_shard_hash_0001` ( `id` bigint(64) unsigned NOT NULL, `str` varchar(256) DEFAULT NULL, `f` double DEFAULT NULL, `e` enum('test1','test2') DEFAULT NULL, `u` tinyint(3) unsigned DEFAULT NULL, `i` tinyint(4) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `test_shard_hash_0002` ( `id` bigint(64) unsigned NOT NULL, `str` varchar(256) DEFAULT NULL, `f` double DEFAULT NULL, `e` enum('test1','test2') DEFAULT NULL, `u` tinyint(3) unsigned DEFAULT NULL, `i` tinyint(4) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `test_shard_hash_0003` ( `id` bigint(64) unsigned NOT NULL, `str` varchar(256) DEFAULT NULL, `f` double DEFAULT NULL, `e` enum('test1','test2') DEFAULT NULL, `u` tinyint(3) unsigned DEFAULT NULL, `i` tinyint(4) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `test_shard_hash_0004` ( `id` bigint(64) unsigned NOT NULL, `str` varchar(256) DEFAULT NULL, `f` double DEFAULT NULL, `e` enum('test1','test2') DEFAULT NULL, `u` tinyint(3) unsigned DEFAULT NULL, `i` tinyint(4) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `test_shard_hash_0005` ( `id` bigint(64) unsigned NOT NULL, `str` varchar(256) DEFAULT NULL, `f` double DEFAULT NULL, `e` enum('test1','test2') DEFAULT NULL, `u` tinyint(3) unsigned DEFAULT NULL, `i` tinyint(4) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `test_shard_hash_0006` ( `id` bigint(64) unsigned NOT NULL, `str` varchar(256) DEFAULT NULL, `f` double DEFAULT NULL, `e` enum('test1','test2') DEFAULT NULL, `u` tinyint(3) unsigned DEFAULT NULL, `i` tinyint(4) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `test_shard_hash_0007` ( `id` bigint(64) unsigned NOT NULL, `str` varchar(256) DEFAULT NULL, `f` double DEFAULT NULL, `e` enum('test1','test2') DEFAULT NULL, `u` tinyint(3) unsigned DEFAULT NULL, `i` tinyint(4) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 配置Kingshard的配置文件,这次只配置Kingshard的hash shard功能 # server listen addr addr : 0.0.0.0:9696 user_list: - user : root password : 123456 web_addr : 0.0.0.0:9797 web_user : admin web_password : admin # log level[debug|info|warn|error],default error log_level : debug # if set log_sql(on|off) off,the sql log will not output log_sql: on nodes : - name : node1 max_conns_limit : 32 user : root password : 123456 master : 127.0.0.1:3307 down_after_noalive : 32 - name : node2 max_conns_limit : 32 user : root password : 123456 master : 127.0.0.1:3308 down_after_noalive: 32 # schema defines sharding rules, the db is the sharding table database. schema_list : - user: root nodes: [node1,node2] default: node1 shard: - db : kingshard table: test_shard_hash key: id nodes: [node1, node2] type: hash locations: [4,4] 启动Kingshard ./bin/kingshard -config=etc/ks.yaml image.png 连接Kingshard,测试操作 mysql -h127.0.0.1 -P9696 -p -c 执行相关的SQL语句 insert into test_shard_hash(id,str,f,e,u,i) values(15,"flike",3.14,'test2',2,3); insert into test_shard_hash(id,str,f,e,u,i) values(7,"chen",2.1,'test1',32,3); insert into test_shard_hash(id,str,f,e,u,i) values(17,"github",2.5,'test1',32,3); insert into test_shard_hash(id,str,f,e,u,i) values(18,"kingshard",7.3,'test1',32,3); select * from test_shard_hash where id < 18; select * from test_shard_hash where id = 18; /*node2*/show tables; image.png 在控制台我们都可以看到对应的输出信息 问题 ks.yml文件中配置的userList都要被使用才行 如果想让非本机访问,ks.yml需要开启一些白名单 mysql命令行中的-c功能启用注释 最后 绝知此事要躬行,学东西不能光看,亲自动手才知道问题所在。有助于自己更好的理解 参考 Kingshard文档

优秀的个人博客,低调大师

VPC SLB ECS RDS KvStore快速入门

小型阿里云架构搭建 1. 创建VPC网络并购买共享带宽包(公网IP) 2. 创建专用网络下ECS 3. 创建专用网络下RDS 4. 创建专用网络下的KvStore(Redis) 5. 创建专用网络下SLB 开始教程 1. 首先需要创建一个VPC网络,使你的服务和公网隔离,保证基本网络安全 1.1 创建VPC 所有在VPC里面创建的应用都会占用一个内网IP 1.1.1 创建交换机 __注意__:有部分区域不支持VPC网络,例如:华北2C区不支持VPC的 1.2 创建网关SNAT 这里的网关和公司路由器差不多是整个VPC流量的出入口功能如下: 端口转发 IP映射 带宽包绑定show: 1.3 创建共享带宽包 因为VPC本身是一个隔离网络,外部无法访问访问,所以我们需要购买宽带,带宽自带公网IP 购买带宽的时候需要注意: 需要的公网IP数 按需付费还是按带宽(如果流量稳定建议

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle

Oracle

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse

Eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。