mysql-slave踩坑日记
晚上闲来无事,想找点事做于是手动删除了一些无用的数据库,手贱的是在从库里面删除了 然后,在主库里面也进行该数据库删除,发现未手动删除的从库正常执行了binlog日志中的sql语句 一段时间后,问题出现了自己手动在主库里插入一条语句,发现两个备库只有一个备库更新了最新的数据,手动删除数据库的那个从库并未更新语句 接下来,查询从库mysql日志 发现 122018-08-19T19:27:04.704407+08:00 6 [ERROR] Slave SQL for channel '': Error 'Can't drop database 'jeewx-h5'; database doesn't exist' on query. Default database: 'jeewx-h5'. Query: 'DROP DATABASE `jeewx-h5`', Error_code: 10082018-08-19T19:27:04.704429+08:00 6...
kafka使用规范
客户端:根据具体消息业务需要,调整配置以下参数: 1.是否启用压缩方式compressionCodec 2.消息确认方式:request.required.acks 3.消息发送类型,同步异步:producer.type 4.异步模式下缓冲的最大消息数(queue.buffering.max.messages) 5.异步模式下,每次发送的消息数(batch.num.messages) 6.消费者socket接收缓存空间大小(socket.receive.buffer.bytes) 7.消费者从每个分区fetch的消息大小(fetch.message.max.bytes) 8.消费者配置rebalance.max.retries * rebalance.backoff.ms > zookeeper.session.timeout.ms 9.消费者消费起始位置配置:auto.offset.reset 10.消费者group.id 服务端:1.调整服务器最大打开文件数限制:ulimit 2.Kafka建议开启JMX监控端口 3.broker配置: kafka...
RabbitMQ使用规范
命名规范 #命名规范:容器名称.[队列特点or路由特点].使用的平台名称.作用 #@容器名称:queue、exchange #@队列特点:非持久化标记(undurable)、延时队列(delay)、优先级队列(priority) #@路由特点:direct、topic、fanout、headers #@使用的平台名称:xiangshang、xiangqian…… #@作用:干什么的 #eg:消息队列(queue.xiangshang.message)、延时消息队列(queue.delay.xiangshang.message)、普通路由(exchange.direct.xiangshang.common)、通用路由(exchange.direct.xiangshang.common)
MongoDB研发规范
库设计l mongodb数据库命名规范:db_xxxx禁止使用任何 “ _ “(下划线)外的特殊字符 l 库名全部小写,禁止使用任何_以外的特殊字符,禁止使用数字打头的库名,如:123_abc l 库以文件夹的形式存在,使用特殊字符或其它不规范的命名方式会导致命名混乱数据库名最多为64字符 l 在创建新的库前应尽量评估该库的体积、QPS等 l 不能为空字符串(” “) l 不能以$开头 l 不能包含.(点号)和空字符串 l 数据库名区分大小写(建议数据库名全部使用小写) l 数据库名最长为64个字节 l 不要与系统保留的数据库名相同,这写数据库包括:admin,local,config等 集合设计l mongodb集合命名规范:t_xxxx l 集合名全部小写,禁止使用任何_以外的特殊字符,禁止使用数字打头的集合名,如:123_abc,禁止system打头 l system是系统集合前缀集合名称最多为64字符为了避免库级锁带来的问题,应尽量对写入较大的集合使用“单库单集合”的结构,所以对于新增业务应尽量创建新库,而不是在现有库中创建新集合 l...
记录一次数据库慢sql
起因由于数据库系统的查询一直在使用es监控,某一天收到一条报警记录 在遇到这个告警的时候,还存在一些疑问,这么简单的sql居然会报慢查询。 经过经过查看数据库数据,发现由于topic_type只有1和0两个状态,就未给它设置索引 结果经过查看该表有数据40+W,在sql中topic_type=1的数据比formid的数据多的多,导致了查询时导致了慢sql 后记修改了sql的查询顺序,发现再也没有慢日志产生,由此得出结论: 数据库语句查询条件并非并行,而是有先后关系,所以一定要注意查询语句的先后关系,范围小的先放前面 该加索引就必须加索引,数据库性能达到瓶颈能导致整个系统崩溃 微服务环境下,不仅要分库分表,还需要将不同服务的数据库分别部署,增强容灾性,一旦某个库达到瓶颈,后果会形成链式反应
Elasticsearch的功能、使用场景以及特点
1、Elasticsearch的功能(1)分布式的搜索引擎和数据分析引擎 搜索:百度,网站的站内搜索,IT系统的检索数据分析:电商网站,最近7天牙膏这种商品销量排名前10的商家有哪些;新闻网站,最近1个月访问量排名前3的新闻版块是哪些分布式,搜索,数据分析 (2)全文检索,结构化检索,数据分析 全文检索:我想搜索商品名称包含牙膏的商品,select * from products where product_name like “%牙膏%”结构化检索:我想搜索商品分类为日化用品的商品都有哪些,select * from products where category_id=’日化用品’ 部分匹配、自动完成、搜索纠错、搜索推荐 数据分析:我们分析每一个商品分类下有多少个商品,select category_id,count(*) from products group by...
MYSQL线上审核规范
命名规范Ø库名、表名、字段名,使用小写字母 Ø库名、表名、字段名,不要超过30个字符 Ø库名、表名、字段名,尽量见名知意,使用下划线分割 Ø库名、表名、字段名,禁止使用MySQL保留字 Ø临时库、表名,必须以tmp为前缀,以日期为后缀,例如tmp_product_20151229 Ø备份表、表名,必须以日期为后缀,例如produce_bak_20151229 库表设计Ø表必须有主键,使用bigint...
MySQL线上语句标准格式
CREATE DATABASE标准SQL12345SET NAMES UTF8;CREATE DATABASE example_db DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; #collate建议使用utf8-bin CREATE TABLE标准SQL12345678910111213141516171819202122232425262728293031323334353637SET NAMES UTF8;DROP TABLE IF EXISTS example_db.example;CREATE TABLE example_db.example( #常规字段为 int,bigint,varchar,text,tinyint`id` int(10) UNSIGNED NOT NULL COMMENT 'comment' AUTO_INCREMENT,`account_id` bigint(20) UNSIGNED NOT NULL DEFAULT 0 COMMENT...
MySQL特殊字段类型选择
金额字段类型选择1.decimaldecimal(M,N) 0<M<65,0<N<30,且N<M,M和N的长度直接影响存储空间 默认情况,表示金额的情况,decimal(16,2),范围是99,999,999,999,999.99 to -99,999,999,999,999.99 占用空间为8个字节 存储时会四舍五入 2.bigint占用空间为8个字节 存储相同大写的数字是,decimal比bigint多1个字节 存入数据库时,decimal会做四舍五入 create table ta (a decimal(4,2),b int); insert into ta (a,b) values(99.006,9900); select * from ta; 12345678910+-------+------+| a | b |+-------+------+| 99.01 | 9900...
redis-开发规范
...