0

烹饪MySQL8.0 Cluster这道菜

此文将带领大家接触MySQL8.0版本,并且部署Mysql Cluster。香。香。香。一:写在前面--MySQL8.0的改进1:性能:MySQL 8.0 的速度要比 MySQL 5.7 快 2 倍。MySQL 8.0 在以下方面带来了更好的性能:读/写工作负载、IO 密集型工作负载、以及高竞争("hot spot"热点竞争问题)工作负载。MySQL8.0、MySQL5.7、MySQL5.7 性能对别2:NoSQL:从MySQL 5.7 版本其开始提供 NoSQL 存储功能,目前在 8.0 版本中NoSQL功能也得到了更大的改进。3:窗口函数(Window Functions):从 MySQL...

阅读全文>>

0

Redis 到底是怎么实现“附近的人”这个功能的呢?

Redis 到底是怎么实现“附近的人”这个功能的呢?前言:针对“附近的人”这一位置服务领域的应用场景,常见的可使用PG、MySQL和MongoDB等多种DB的空间索引进行实现。而Redis另辟蹊径,结合其有序队列zset以及geohash编码,实现了空间搜索功能,且拥有极高的运行效率。本文将从源码角度对其算法原理进行解析,并推算查询时间复杂度。要提供完整的“附近的人”服务,最基本的是要实现“增”、“删”、“查”的功能。以下将分别进行介绍,其中会重点对查询功能进行解析。操作命令自Redis 3.2开始,Redis基于geohash和有序集合提供了地理位置相关功能。 Redis Geo模块包含了以...

阅读全文>>

0

一款能快速批量处理SQL文本的软件:NimbleText

前言做为一个后台程序员,在日常工作中,经常会遇到领导扔给一个Excel,让把 Excel 的数据导入数据库的情况。如果只是少量数据,几条甚至说几十条,还可以勉强地组织一下 insert 插入语句;但大多数情况下,都是成百上千行的数据,若要是再手动一条一条组织 insert 插入语句,岂不得累死。于是乎,为了减少重复工作,提高工作效率,小编找到了一款能快速批量处理SQL文本的软件: NimbleText,分享给大家。 (当然,它可以处理任何文本内容哦~)NimbleText软件截图简介NimbleText 是一个非常简单的代码生成器,它可以将给定的数据和需要模式匹配的数据合并成我们所期望的完整数...

阅读全文>>

0

6步带你看懂MySQL 整体架构

MySQL 在整体架构上分为 Server 层和存储引擎层。其中 Server 层,包括连接器、查询缓存、分析器、优化器、执行器等,存储过程、触发器、视图和内置函数都在这层实现。数据引擎层负责数据的存储和提取,如 InnoDB、MyISAM、Memory 等引擎。在客户端连接到 Server 层后,Server 会调用数据引擎提供的接口,进行数据的变更。连接器负责和客户端建立连接,获取用户权限以及维持和管理连接。通过show processlist来查询连接的状态。在用户建立连接后,即使管理员改变连接用户的权限,也不会影响到已连接的用户。默认连接时长为 8 小时,超过时间后将会被断开。简单说下...

阅读全文>>

0

借助Redis完成延时任务

相信我们或多或少的会遇到类似下面这样的需求:第三方给了一批数据给我们处理,我们处理好之后就通知他们处理结果。大概就是下面这个图说的。本来在处理完数据之后,我们就会马上把处理结果返回给对方,但是对方要求我们处理速度不能过快,要有一种人为处理的效果。换句话就是说,就算是处理好了,也要晚一点再执行通知操作。这就是一个典型的延时任务。延时,那还不简单,执行完之后,让它Sleep一下就好了,这样就达到目标了。Sleep一下确定是最容易实现的一种方案,但是试想一下,数据的数量不断的增加,这样Sleep真的好吗?答案是否定的。延时队列,是处理这个场景最为妥当的方案。RabbitMQ,RocketMQ,Cmq...

阅读全文>>

0

Redis 6.0 正式版终于发布了!除了多线程还有什么新功能?

Redis 6.0.1 于 2020 年 5 月 2 日正式发布了,如 Redis 作者 antirez 所说,这是迄今为止最“企业”化的版本,也是有史以来改动最大的一个 Redis 版本,同时也是参与开发人数最多的一个版本。所以在使用此版本之前,建议各位开发者先进行深入的测试再考虑投产,毕竟生产坏境无小事。好了,回到本文的重点,接下来我们来重点看下 Redis 6.0.1 给我们带来了那些新功能。Redis新功能介绍Redis 6 的更新日志,主要包含以下五部分的内容:Redis 6.0-RC1 版新功能介绍;Redis 6.0-RC2 版新功能介绍;Redis 6.0-RC3 版新功能介绍...

阅读全文>>

0

MySQL用户及权限知识梳理

一、账号用户账号MySQL用户账号组成: 'USER'@'HOST'USER: 用户名。HOST: 来源主机地址,IP、主机名、通配符(%和_)。创建用户账号:mysql> CREATE USER 'USER'@'HOST';mysql> CREATE USER 'USER'@'HOST' IDENTIFIED BY 'PWD';用户重命名:mysql> RENAME USER old_username TO new_username;删除用户:mysql> DROP USER 'USER'@'HOST';mysql> DELETE FROM mysql.user...

阅读全文>>

0

为什么MongoDB使用B-Tree,Mysql使用B+Tree ?

除了 B+ 树,你可能还听说过 B 树、 B- 树,实际上, B- 树就是 B 树,英文翻译都是 B-Tree ,这里的 “-” 并不是相对 B+ 树中的 “+” ,而只是一个连接符。而 B 树实际上是低级版的B+ 树,或者说 B+ 树是 B 树的改进版。B+ treeB+ tree 实际上是一颗m叉平衡查找树(不是二叉树)平衡查找树定义:树中任意一个节点的左右子树的高度相差不能大于 1/*** 这是B+树非叶子节点的定义。** 假设keywords=[3, 5, 8, 10]* 4个键值将数据分为5个区间:(-INF,3), [3,5), [5,8), [8,10), [10,INF)* 5...

阅读全文>>

0

mysql数据库如何进行备份和恢复

一、确保mysql开启了binlog日志功能在/etc/my.cnf文件里的[mysqld]区块添加:#这个是存储的位置为mysql配置文件的位置log-bin=mysql-bin然后重启mysql服务生效二、创建数据库先创建一个ops数据库create database ops;use ops;创建一个customers表并写上表结构create table customers(id int not null auto_increment,name char(20) not null,age int not null,primary key(id))engine=InnoDB;查看创建好的表...

阅读全文>>

0

MySQL的binlog知识梳理

1、binlog概念:binlog是一个二进制格式的文件,用于记录“修改数据或可能引起数据变更”的SQL语句(查询的SQL不会记录)。2、binlog功能:(1)恢复: 利用binlog日志恢复数据库数据。(2)复制: 主从架构通过binlog同步数据。(3)审计: 可以用binlog中的信息进行审计,判断是否有对数据库进行注入攻击。3、binlog的记录格式:(1)statement: 基于"语句"记录,记录的是修改SQL语句。(2)row: 基于"行"记录,记录的是每行实际数据的变更。(3)mixed: statement和row模式的混合。4、binlog的配置参数(1)开关配置: s...

阅读全文>>