220707-MySql按时、天、周、月进行数据统计

最近遇到一个统计的需求场景,针对db中的数据,看一下每天的数据量情况,由于DB中时间字段采用的是int存的时间戳,所以最开始想到的是直接对时间进行按天取整,然后再Group统计数据;

除此之外,使用DATE_FORMAT函数来处理可能是更简洁的方法了,下面分别介绍下两种方式

220507-mysql-connector-java-utf8mb4编码支持

对于mysql而言,我摩恩知道utf8与utf8mb4两种编码之间是不同的,通常来说我们推荐使用后者,可以用来存储emoj表情;通常而言,上面的编码对于我们的实际使用并没有什么影响,然而现实总有特殊场景

下面记录一下定位mysql-connector-java客户端建立连接,设置编码的全过程

220425-MySql之json_extract函数处理json字段

在db中存储json格式的数据,相信大家都或多或少的使用过,那么在查询这个json结构中的数据时,有什么好的方法么?取出String之后再代码中进行解析?

接下来本文将介绍一下Mysql5.7+之后提供的json_extract函数,可以通过key查询value值

210706-MySql表字段修改记录

mysql修改表数据类型的方式

  • 针对一个已经存在的列,修改类型,主要使用 modify
1
alter table xxx modify id int(11) unsigned not null auto_increment comment '主键id'
  • 如果是希望新增一列,使用add column
1
2
-- after 表示这个新增的列在id这一列之后
alter table xxx add column to_add varchar(11) not null default '' comment '新增的列' after `id`;
  • 删除某一列,使用 drop column
1
2
-- 删除 xxx 这一列
alter table drop column xxx;

210207-MySql并发插入死锁引来的锁分析

最近遇到一个由于唯一性索引,导致并发插入产生死锁的场景,在分析死锁产生的原因时,发现这一块还挺有意思的,涉及到MySql中不少的知识点,特此总结记录一下

201125-Mysql 字符集不一致问题

做一个简单的如下的连表查询,居然直接提示错误,居然是字符集不一致的问题,本文记录一下mysql的字符集类型,以及下面这个问题的解决方案

1
2
3
select a.id, b.id from tt as a, t2 as b where a.xx = b.xx

-- Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation '='

200910-MySql最大连接数查看与修改

原文来自: https://www.cnblogs.com/niuben/p/10834668.html

查看与修改mysql的最大连接数命令如下

1
2
3
4
5
-- 查看最大连接数
show variables like '%max_connections%';

-- 修改最大连接数
set GLOBAL max_connections = 1024;

200418-MongoDb系列教程十三:索引

索引一般用来提高查询效率,避免全集合搜索,那么在mongodb中,支持索引么?如果支持,如何定义索引,如何使用索引,如何确定一个sql是否走索引?

200410-MongoDB系列教程十二:文档更新删除之非典型篇

前面介绍document的新增、删除、更新都处于相对常见和基础的说明,但是考虑到mongodb非结构化的特点,它的一些特性是我们的mysql不会遇到的,本文将针对这些特殊场景给出示例说明

  • 在现有文档中,增加一个field
  • 删除文档中的某个field
  • 重命名文档的field
  • 在文档的数组orObject中,添加/删除/更新数据

200408-MongoDb系列教程十一:文档 Document 查询非典型篇

前面介绍的查询可以说是常见的典型case,但是mongodb中有两个比价特殊的数据类型,数组 + 对象,自然的也会有一些非典型的查询case,下面主要针对这两种数据类型的查询姿势,给出实例讲解

200403-Influx Sql系列教程十:query数据查询基本篇三

前面介绍了两篇influxdb的查询基本操作姿势,然后有些小伙伴在实际的使用过程中,发现了一些有意思的问题,这里单独开一篇进行说明

200331-MongoDb系列教程十:文档 Document 查询高级篇

上一篇的mongodb查询,主要介绍的是一些基本操作,当然有基本就高阶操作;

本文将带来更多的查询姿势

  • 排序
  • 分页
  • 聚合

200328-MongoDb系列教程九:文档 Document 查询基础篇

MongoDb文档查询,主要借助find方法来完成,在实际的业务开发中,为了满足各种复杂的业务场景,查询的姿势也是各种各样,本篇则主要介绍基本的使用姿势,不涉及到聚合、排序、分页相关内容

200326-MongoDb系列教程六:文档 Document 插入姿势

文档相当于关系数据库中数据行,也是我们最关心的数据本身;以BSON格式存储(和json区别不大)

我们通常所说业务开发者的CURD四大技能,在mongodb中,就是针对Document而言,接下来我们先看一下文档的新增使用姿势

200326-MongoDb系列教程五:集合 Collection

集合,相当于关系型数据库中的table,在mongodb中,集合的概念非常贴切,属于文档(Document)的集合

其最大的特点是:

  • 没有固定的结构

200326-MongoDb系列教程四:数据库 Database

我们通常把mongodb叫文档型数据库,mysql叫关系型数据库,influxdb叫时序数据库,如果熟悉这三个的话,会发现他们都有一个database,它是collection/table/measurement的上一级,可以简单的把它理解为更高层级的集合,方便统一管理/权限划分/业务拆分

下面简单介绍一下database的基础操作

200325-MongoDb系列教程三:基本工具介绍

mongodb服务器安装完毕之后,提供了一些配套的操作工具,接下来我们有必要认识一下它们,并了解基本用法

200322-MongoDb系列教程二:连接

后续的所有文章的基础,都是需要先连上mongodb,然后才能执行各种命令操作;

本文将介绍一下如何连接一个已经启动的mongodb服务器

200321-MongoDb系列教程一:基本概念

mongodb和我们通常使用的关系型数据库如mysql,在一些基本概念上有相同之处,但也有一些区别,在进行mongodb的语言介绍之前,有必要先了解一些基础概念

本文将对比sql对一些基础概念进行解释说明

200319-MongoDb系列教程零:环境安装与初始化

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

本篇为mongodb系列教程第一篇,环境安装与连接设置

190906-MySql Timestamp默认值限制问题

今天在往mysql表中新增一列timestamp时,希望设置默认值为0,结果发现居然提示失败,记录一下

190814-Influx Sql系列教程九:query数据查询基本篇二

前面一篇介绍了influxdb中基本的查询操作,在结尾处提到了如果我们希望对查询的结果进行分组,排序,分页时,应该怎么操作,接下来我们看一下上面几个场景的支持

在开始本文之前,建议先阅读上篇博文: 190813-Influx Sql系列教程八:query数据查询基本篇

190813-Influx Sql系列教程八:query数据查询基本篇

前面几篇介绍了InfluxDB的添加,删除修改数据,接下来进入查询篇,掌握一定的SQL知识对于理解本篇博文有更好的帮助,下面在介绍查询的基础操作的同时,也会给出InfluxSql与SQL之间的一些差别

190730-Influx Sql系列教程七:delete 删除数据

前面介绍了使用insert实现新增和修改记录的使用姿势,接下来我们看一下另外一个简单的使用方式,如何删除数据

190729-Influx Sql系列教程六:insert 修改数据

在influxdb中没有专门的修改数据的update语句,对于influxdb而言,如果想修改数据,还是得使用我们前面的说到的insert来实现,那么怎么判断一条insert语句是插入还是修改呢?

190726-Influx Sql系列教程五:insert 添加数据

接下来开始进入influxdb的curd篇,首先我们看一下如何添加数据,也就是insert的使用姿势

在进入本篇之前,对于不了解什么是retention policy, tag, field的同学,有必要快速过一下这几个基本概念,可以参考文后的系列教程

190723-Influx Sql系列教程四:series/point/tag/field

influxdb中的一条记录point,主要可以分为三类,必须存在的time(时间),string类型的tag,以及其他成员field;而series则是一个measurement中保存策略和tag集构成;本篇教程将介绍一些这几个概念

190721-Influx Sql系列教程三:measurement 表

在influxdb中measurement相当于mysql中的表,可以理解为一条一条记录都是存与measurent中的,一个数据库中可以有多个measurement,一个measurement中可以存很多的数据。虽然可将measurement类比为mysql中的表,但是他们之间的差别也挺明显的

190719-Influx Sql系列教程二:retention policy 保存策略

retention policy这个东西相比较于传统的关系型数据库(比如mysql)而言,是一个比较新的东西,在将表之前,有必要来看一下保存策略有什么用,以及可以怎么用

190718-Influx Sql系列教程一:database 数据库

对于influxdb而言,database和我们更熟悉的mysql中的dababse没有什么特别的区别,可以将数据库简单理解为一堆表(measurement)的集合,接下来我们将看一下在influxdb中,database的常规操作

190717-Influx Sql系列教程零:安装及influx-cli使用姿势介绍

influxdb 时序数据库,因为实际业务中使用到了,然而并没有发现有特别好的文章,完整的介绍influx sql的使用姿势,因此记录下实际开发中学习的体会,主要参考来自于官方文档 Influx Query Language (InfluxQL)

190704-mysql索引过长Specialed key was too long问题记录

在创建要给表的时候遇到一个有意思的问题,提示Specified key was too long; max key length is 767 bytes,从描述上来看,是Key太长,超过了指定的 767字节限制

190509-InfluxDb之时间戳显示为日期格式

直接使用influx-cli查询数据时,时间戳格式不太友好,记录下显示日期的方式

连接时添加参数

1
influx -precision rfc3339

连接后设置参数

1
2
3
4
5
# 进入控制台
influx

# 设置参数
precision rfc3339

190506-InfluxDB之配置修改

influxdb安装完毕之后,一般来讲,有些配置有必要改一下的,比如默认的端口号,默认的数据存储位置,本篇将介绍下常用配置的修改姿势

190505-InfluxDB之权限管理

influxdb安装完毕之后,默认属于裸奔状态,为了安全起见,当然是需要加上权限管理,下面介绍下如何设置权限

190326-MySql查询时间戳日期互转

mysql内部提供了时间戳和日期互转的函数方便直接使用

  • from_unixtime(time_stamp) : 将时间戳转换为日期
  • unix_timestamp(date) : 将指定的日期或者日期字符串转换为时间戳

190308-Mysql DDL出现长时间等待MDL问题分析

给表新增字段时,发现锁表了,查看进程,提示Waiting for table metadata lock,等待锁释放;然而蛋疼的是几分钟过去了,依然没有任何的进展

现在就有几个问题了

  • Metadata Lock 是什么鬼
  • 是什么原因导致一直等待

190216-MongoDB之Collection导入导出

mongodb中集合的导入导出,在robot3t工具中没有找到对应的方法,记录下控制台的操作流程

主要利用: mongoexportmongoimport

190109-mysql 新增多列写法

记录下同时新增多列的sql写法

1
alter table table_name add (amount decimal(20,8) NOT NULL DEFAULT '0.00000000' COMMENT '数量' , price decimal(20,8) NOT NULL DEFAULT '0.00000000' COMMENT '价格');

用圆括号包含起来即可

181208-mysql之给现有表新增自增字段

I. 问题描述

一张现有的表,没有自增主键,拿的是一串字符串作为的表的主键,实际使用来,并没有什么问题,但是在扫表的时候就不是特别的方便了,

因此希望给这张表新增一个自增的id

181129-mysql表锁死解决办法

MySQL表修改频繁,导致表被锁死,悲催的表现时这个表完全没法继续使用了,查询,修改,删除都不能使用,这种场景下除了重启mysql服务之外还可以怎么处理?

180726-InfluxDB基本概念小结

InfluxDB基本概念小结

InfluxDB作为时序数据库,与传统的关系型数据库相比而言,还是有一些区别的,下面尽量以简单明了的方式介绍下相关的术语概念

180725-InfluxDB-v1.6.0安装和简单使用小结

InfluxDB安装和简单使用小结

InfluxDB是一个时序性数据库,因为工作需求,安装后使用测试下是否支持大数据下的业务场景

180710-MySql插入唯一键冲突的三种可选方式

logo

MySql插入时唯一键冲突的几种处理方式

MySql插入一条记录,结果提示主键冲突,怎么办?

批量插入数据时,发现插入的这批数据中,有某些记录存在唯一键冲突,一个一个跳出来就比较麻烦了,有什么好的办法直接忽略掉冲突的记录么?

下面简单记录三种处理方式

180620-mysql之数据库导入导出

mysql之数据库导入导出

实际工作中,需要做一下数据库迁移,需要导入导出数据,记录一下mysqldump的简单用法

180601-MySql性能监控工具MyTop

mysql 性能监控小工具之 mytop

参考: How To Use Mytop to Monitor MySQL Performance

I. 安装与配置

Centos 下可以直接通过yum进行安装

1
yum install mytop

生产环境分库分表的实际操作全记录

一次分库分表全过程记录

实际操刀过一次线上的分库分表,距离现在时间有点久了,现在想一想,发现还是有不少有意思的东西,所以来一个迟到的记录

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×