• centos7 安装 Mysql 5.7.27,详细完整教程

    1. 下载 MySQL yum包wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm2.安装MySQL源rpm -Uvh mysql57-community-release-el7-10.noarch.rpm3.安装MySQL服务端,需要等待一些时间yum install -y mysql-...

    MySQL 2021年04月21日 13 0
  • Navicat用久了试试这个炫酷的mysql连接工具,如丝滑般柔顺

    背景web开发者都知道,数据对我们来说是最重要的,所有的curd都是针对于数据库。连接MySQL我们通常都是用Navicat,但是每次用都需要破解,并且感觉经常卡顿,并且提示功能感觉不准确,有没有更好的工具,我们可以试下HeidiSQL。推荐理由1 完全开源免费,不存在收费版本(不开源不推荐)2 查询速度很快,不会卡顿,Navicat查询比较卡顿3 界面炫酷(关键字高亮,记录高...

    MySQL 2021年04月12日 43 0
  • 并发的时候分布式锁setnx细节

    如果出现网络延迟的情况下,多个请求阻塞,那么恶意攻击就可以全部请求领取接口成功,而针对这种做法,我们使用 setnx 来解决,确保只有一个请求可以进入接口请求。public String receiveGitf(int activityId,int giftId,String uid){ // isExist判断活动是否存在,内部包括redis和数据库请求,省略...

    MySQL 2021年03月19日 118 0
  • 数据库事务锁详解

    前言上篇说到数据库事务中的特性ACID和4个隔离级别,今儿就来看一下事务中的锁。MySQL中的锁锁是MySQL在服务器层和存储引擎层的并发控制,锁可以保证数据并发访问的一致性、有效性;锁冲突也是影响数据库并发访问性能的一个重要因素MySQL有三种级别的锁:「表级锁、行级锁、页级锁」表级锁行级锁业级锁特点开销小、加锁快开销大、加锁慢加锁时间介于其余两者之间是否会死锁否是是并发度粒...

    MySQL 2021年03月18日 126 0
  • 分库分表中间件的高可用实践

    分库分表中间件的高可用实践前言分库分表中间件在我们一年多的锤炼下,基本解决了可用性和高性能的问题(只能说基本,肯定还有隐藏的坑要填),问题自然而然的就聚焦于高可用。本文就阐述了我们在这方面做出的一些工作。哪些高可用的问题作为一个无状态的中间件,高可用问题并没有那么困难。但是尽量减少不可用期间的流量损失,还是需要一定的工作的。这些流量损失主要分布在:(1)某台中间件所在的物理机突...

    MySQL 2021年03月12日 142 0
  • CentOS7安装MySQL8.0图文教程

    登录主机,然后进行下载第一步:在mysql官网下载源文件第二步:Select Operating System: 选择 Red Hat ,CentOS 是基于红帽的,Select OS Version: 选择 linux 7第三步:选择 RPM Bundle 点击 Download第四步:点击 No thanks, just start my download. 进行下载第五步...

    MySQL 2021年03月12日 223 0
  • Redis基础篇

    一、从常用数据结构说起上文说到Redis提供了丰富的数据结构,包括STRING(字符串)、LIST(列表)、SET(集合)、HASH(散列)和ZSET(有序集合)基本数据类型。先来一波操作感受一下:基本的数据类型的大概使用就到这里,接下来就分析一下它的内部结构是怎么实现的。二、底层实现Redis是KV类型的数据库,Key-Value我们一般会用什么数据结构存储?哈希表!没错Re...

    Redis 2021年03月12日 114 0
  • Linux运维指南Nacos、Rabbit MQ、Redis

    Linux运维指南含Nacos、Rabbit MQ、Redis一、Rabbit MQ安装指南1.1安裝Erlang语言因为Rabbit MQ是基于Erlang语言开发的,运行环境必须依赖于Erlang,无论是Windows机器还是Linux机器,安装Rabbit MQ之前第一步要安装Erlang.1.1.1安装Erlang所需依赖进入Linux服务器,创建/u01目录:mkdi...

    Redis 2021年03月10日 185 0
  • explain查看执行计划

    在MySQL性能调优的时候explain是必须要使用的关键字,它的作用是可以查看sql语句的执行信息,包括表的读取顺序,应用到的索引等信息。用法:explain + sql语句。本篇我们先熟悉explain的内容,为下篇学习索引奠定基础。explain内容查看user全表查询的执行计划:mysql> explain select * from user; idid表示se...

    MySQL 2021年03月10日 136 0
  • Redis是如何持久化到硬盘的

    Redis为什么需要持久化我们在项目中或多或少会用到Redis,Redis主要用作缓存数据库。使用Redis可以大大提升我们程序是性能,使用Redis之所以快的原因之一是Redis的数据是存储在内存中,应用程序访问Redis只需要从内存中读取即可。从内存中读取数据确实能提高访问速度,但是当Redis挂了,内存中的数据就会丢失掉,为了防止数据丢失,我们需要将数据持久化到硬盘中。当...

    Redis 2021年03月09日 117 0
  • 线上MySQL读写分离,出现写完读不到问题如何解决?

    今天我们来详细了解一下主从同步延迟时读写分离发生写后读不到的问题,依次讲解问题出现的原因,解决策略以及 Sharding-jdbc、MyCat 和 MaxScale 等开源数据库中间件具体的实现方案。一、写后读不到问题MySQL 经典的一主两从三节点架构是大多数创业公司初期使用的主流数据存储方案之一,主节点处理写操作,两个从节点处理读操作,分摊了主库的压力。但是,有时候可能会遇...

    MySQL 2021年03月09日 107 0
  • SQLServer数据库实例相关知识笔记

    1、概念介绍SQL实例实际上就是SQL服务器引擎,每个SQL Server数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。在一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为是一个数据库实例。2、SQL实例分类SQL实例分为默认实例和命名实例。这个在SQLServer软件安装时候可以选择哪种命名方式,但一台计算机中只能有一个实例作为默...

    SQL SERVER 2021年03月08日 109 0
  • Redis如何实现分布式锁?

    前言如果在一个分布式系统中,我们从数据库中读取一个数据,然后修改保存,这种情况很容易遇到并发问题。因为读取和更新保存不是一个原子操作,在并发时就会导致数据的不正确。这种场景其实并不少见,比如电商秒杀活动,库存数量的更新就会遇到。如果是单机应用,直接使用本地锁就可以避免。如果是分布式应用,本地锁派不上用场,这时就需要引入分布式锁来解决。由此可见分布式锁的目的其实很简单,就是为了保...

    Redis 2021年03月08日 113 0
  • 「MySQL笔记」left join-on-and 与 left join-on-where 的区别

    1. 摘要关于这两种写法的重要知识点摘要如下:left-join 时,即使有相同的查询条件,二者的查询结果集也不同,原因是优先级导致的,on 的优先级比 where 高on-and 是进行韦恩运算连接生成临时表时使用的条件where 是全部连接完生成临时表后,再根据条件过滤on 优先级比 where 高,因此,理论上 on-and 写法执行效率比 on-where 高,速度更快...

    MySQL 2021年03月08日 127 0
  • Oracle与Mysql区别

    1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高。 2. Oracle支持大并发,大访问量,是OLTP最好的工具。 3. 安装所用的空间差别也是很大的,Mysql安装完后才152M而Oracle有3G左右,且使用的时候Oracle占用特别大的内存空间和其他机器性能。...

    MySQL 2021年03月08日 111 0
  • 为什么delete表数据,磁盘空间却还是被占用

    最近有个上位机获取下位机上报数据的项目,由于上报频率比较频繁且数据量大,导致数据增长过快,磁盘占用多。为了节约成本,定期进行数据备份,并通过delete删除表记录。明明已经执行了delete,可表文件的大小却没减小,令人费解项目中使用Mysql作为数据库,对于表来说,一般为表结构和表数据。表结构占用空间都是比较小的,一般都是表数据占用的空间。当我们使用 delete删除数据时,...

    MySQL 2021年03月06日 138 0
  • MySQL:按照ID分组日期时间求和,过滤重叠时间

    原始数据SELECT d.waybill_no, @group_row:=CASE WHEN @parent_code=picked_by THEN @group_row+1 ELSE 1 END AS id, @parent_code1:=picked_by AS picked_by1, MIN(spd.picked_date) start_time, MAX(spd.pic...

    MySQL 2021年03月05日 125 0
  • 海量数据写入——万级并发的订单系统如何分库?

    一定要分表分库吗?当然不一定。虽然很多互联网公司的体量很大、用户非常多,但你千万不要被这些现象迷惑了。实际上,90% 以上的系统能够发展到上百万、上千万数据量已经很不错了。对于千万的数据量,开源的 MySQL 都可以很好地应对,更别说一些商业数据库了。另外,当数据增长到一定量级后,可以在业务层面做一些处理。比如根据业务特点,对无效数据、软删除数据,以及业务上不会再查询的数据进行...

    MySQL 2021年03月04日 131 0
  • mysql-DCL语句与帮助的使用

    DCL语句DCL语句主要是DBA用来管理系统中的对象权限时使用,一般的开发人员很少使用。下面通过一个例子简单说明一下。创建一个数据库用户z1,具有对sakila数据库中所有表的SELECT/INSERT 权限,并且密码为123。grant select,insert on sakila.* to ‘z1’@’localhost‘indentified by ‘123’;收回z1...

    MySQL 2021年03月03日 114 0
  • 如何破解缓存穿透和并发?

    缓存是我们现在经常使用的技术之一,对于缓存的使用,看似非常简单,其实却蕴含着很多技巧在里面,这些技巧可以帮助我们最大化地发挥缓存的功效,减少因为缓存的使用导致的线上生产事故,那么这些技巧都有哪些,如何使用呢?下面试着从缓存穿透,缓存并发来开展破解之道。缓存穿透流程和危害  在通常情况下,我们在前台是如何使用缓存的呢?我们来看下面这个流程:  当系统接收到一个请求时,请求先从缓存...

    Redis 2021年02月28日 115 0
  • MySQL 8.0.19亿级数据如何秒速增加字段?

    概述今天主要介绍一下MySQL 8.0.19 instant add column的新特性,基于亿级数据秒速增加字段,下面一起来看看吧~一、MySQL DDL 的方法MySQL 在大型表上的 DDL 会带来耗时较久、负载较高、额外空间占用、MDL、主从同步延时等情况。需要特别引起重视,而MySQL 的 DDL 有很多种方法。MySQL 本身自带三种方法,分别是:copy、inp...

    MySQL 2021年02月27日 233 0
  • 跨越异构鸿沟,Redis 迁移同步过程中的挑战与解决方案

    随着云计算十余年的高速发展,作为目前可见的最新阶段,多云正在快步大踏步前进。而多云趋势所带来得数据云间迁移,也逐步常态化。因此, 缓存 Redis 已成为高并发场景下提升数据访问速度的标配。不仅是数据云间迁移,目前大型系统对于缓存强依赖,致使大多数企业都会面临大量并发读写数据时访问速度慢、数据库压力大,以及缓存数据不⾜带来的缓存击穿及雪崩⻛险。其中, Redis 就起到了降低数...

    Redis 2021年02月26日 131 0
  • MySQL innodb意向锁介绍

    大家知道,InnoDB 实现了标准的行级锁,包括:共享锁(S锁)、排它锁(X锁)。那么为什么需要引入意向锁呢?它能解决什么问题呢?假设,事务A获取了某一行的排它锁,尚未提交,此时事务B想要获取表锁时,必须要确认表的每一行都不存在排他锁,很明显效率会很低,引入意向锁之后,效率就会大为改善:如果事务A获取了某一行的排它锁,实际此表存在两种锁,表中某一行的排他锁和表上的意向排他锁。如...

    MySQL 2021年02月23日 218 0
  • mysql一张表到底能存多少数据?

    前言程序员平时和mysql打交道一定不少,可以说每天都有接触到,但是mysql一张表到底能存多少数据呢?计算根据是什么呢?接下来咱们逐一探讨知识准备数据页在操作系统中,我们知道为了跟磁盘交互,内存也是分页的,一页大小4KB。同样的在MySQL中为了提高吞吐率,数据也是分页的,不过MySQL的数据页大小是16KB。(确切的说是InnoDB数据页大小16KB)。详细学习可以参考官网...

    MySQL 2021年02月20日 189 0
  • autojs之数据库

    使用情景: 数据库DDL(Data Definition Language)数据定义语言数据库和表的操作都属于ddl, 比如: Create、Drop和Alter,DDL所站的高度, 最低也比记录高一层创建或打开数据库const TableName = "IMGDATA"; // 表名: IMGDATA // 字段1 id 整数 主键 自增 // 字段2 name 字符串 不可...

    SQLite 2021年02月06日 348 0
  • Redis集群实战篇

    1. 拉取redis镜像docker pull redis:6.0.92. 配置文件2.1 生成目录用来存放redis的配置文件与持久化文件,日志文件等# 新增目录 mkdir -p /www/redis/redis_001/ && mkdir -p /www/redis/redis_001/data/ # 切换目录 cd /www/redis/redis_0...

    Redis 2021年02月05日 185 0
  • Insert into select语句竟然也会引发的生产事故?

    前言  Insert into select请慎用。这天xxx接到一个需求,需要将表A的数据迁移到表B中去做一个备份。本想通过程序先查询查出来然后批量插入。但xxx觉得这样有点慢,需要耗费大量的网络I/O,决定采取别的方法进行实现。通过在Baidu的海洋里遨游,他发现了可以使用insert into select实现,这样就可以避免使用网络I/O,直接使用SQL依靠数据库I/O...

    MySQL 2021年02月02日 198 0
  • redis的五种数据结构和应用场景:微博微信点赞+加购物车等

    Redis五种数据结构如下:1.String 字符串类型是redis中最基本的数据类型,一个key对应一个value。String类型是二进制安全的,意思是 redis 的 string 可以包含任何数据。如数字,字符串,jpg图片或者序列化的对象。2.Hash (哈希)是一个Mapmap,指值本身又是一种键值对结构,如 value={{field1,value1},........

    Redis 2021年02月02日 269 0
  • MySQL如何加锁控制并发

    目录前言一、乐观锁添加version字段二、悲观锁读锁全表锁(LOCK TABLE 表 READ)行锁(SELECT ... LOCK IN SHARE MODE)写锁全表锁(LOCK TABLE 表 WRITE)行锁(SELECT ... FOR UPDATE)前言锁总体可以分为乐观锁和悲观锁,简单说,乐观锁用版本号控制,悲观锁用锁控制。下面是待会要用来测试的数据# 添加一个...

    MySQL 2021年01月31日 186 0
  • Redis 之哈希

    命令hset key field value 设置值,成功返回1,失败返回0,hash提供了 hsetnx 命令 只有key不存在才会设置成功hget key value 获取值hdel key field [field ...] 删除filed,返回删除成功的个数hlen key 统计field个数hmget key field [field ...] 批量获取field v...

    Redis 2021年01月30日 174 0