0

MySQL 深入学习总结

1.数据库基础1.1 MySQL 架构和其它数据库相比,MySQL 有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎,各层介绍:1.1.1 连接层最上层是一些客户端和连接服务,包含本地 sock 通信和大多数基于客户端/服务端工具实现的类似于 tcp/ip 的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于 SSL 的安全链接。...

阅读全文>>

0

MySQL常用的4种主从复制架构

目录一主多从复制架构多级复制架构双主(Dual Master)复制架构多源(Multi-Source)复制架构如何优化主从延迟问题?复制的4中常见架构有一主多从复制架构、多级复制架构、双主(Dual Master)复制架构和多源(Multi-Source)复制架构。一主多从复制架构在主库读取请求压力非常大的场景下,可以通过配置一主多从复制架构实现读写分离,把大量的对实时性要求不是特别高的读请求通过负载均衡分布到多个从库上(对于实时性要求很高的读请求可以让从主库去读),降低主库的读取压力,如下图所示。在主库出现异常宕机的情况下,可以把一个从库切换为主库继续提供服务。在主从复制场景下会出现主从延迟...

阅读全文>>

1

MySQL不同版本多实例部署

1 背景介绍我们在数据库运维的过程中.会遇到不同版本的数据库部署需求.同时测试环境数据库需求更是不同.有时为了节省资源.我们需要进行多实例的部署.或者在我们自己学习的过程中也需要进行多实例的部署..比如搭建各种MySQL的集群(mha,PXC,Xenon).这篇文章我将介绍多版本多实例的部署.2 部署介绍多版本多实例版本介绍:下载对应版本MySQL2.1 软件下载下载地址:https://downloads.mysql.com/archives/community/下载对应版本MySQL二进制安装包2.2 解压对应软件,并做软链接root@dba1 opt]# ll -rw-r--r-- 1 ...

阅读全文>>

0

DorisDB简介

DorisDB简介本文通过对DorisDB进行概要描述,从产品简介、发展历程、架构介绍、产品特性、使用场景、产品版本、横向压测对比、用户&案例、后续发展几个层面进行简要说明,部分内容引用。因接触doris时间较短,文中错误,欢迎勘正。1. 产品简介 一直以来,一众大厂分布式数据库产品层出不穷,唯有BAT中的百度,一直没有什么大的动作。然而,我还是错了,先给百度道个歉。只因百度太低调,只因对百度的关注较少。自从发现主角DorisDB,他入座Apache Doris顶级项目,他成立商业公司鼎石,他祭出DorisDB,同百度产品Palo双线运行,OLAP层面压测PK ClickHouse、T...

阅读全文>>

0

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-community-server4.启动MySQLsystemctl start mysqld.service5.检查是否启动成功systemctl status mysqld.service6.获取临时密码,MySQL...

阅读全文>>

1

Navicat用久了试试这个炫酷的mysql连接工具,如丝滑般柔顺

背景web开发者都知道,数据对我们来说是最重要的,所有的curd都是针对于数据库。连接MySQL我们通常都是用Navicat,但是每次用都需要破解,并且感觉经常卡顿,并且提示功能感觉不准确,有没有更好的工具,我们可以试下HeidiSQL。推荐理由1 完全开源免费,不存在收费版本(不开源不推荐)2 查询速度很快,不会卡顿,Navicat查询比较卡顿3 界面炫酷(关键字高亮,记录高亮)4 带查询历史,方便查看曾经查过的SQL语句。5 可以直观地看到数据量的大小。实战1 下载安装,官网下载地址 https://www.heidisql.com/download.php2 连接: 文件-->会话...

阅读全文>>

0

并发的时候分布式锁setnx细节

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

阅读全文>>

0

数据库事务锁详解

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

阅读全文>>

0

分库分表中间件的高可用实践

分库分表中间件的高可用实践前言分库分表中间件在我们一年多的锤炼下,基本解决了可用性和高性能的问题(只能说基本,肯定还有隐藏的坑要填),问题自然而然的就聚焦于高可用。本文就阐述了我们在这方面做出的一些工作。哪些高可用的问题作为一个无状态的中间件,高可用问题并没有那么困难。但是尽量减少不可用期间的流量损失,还是需要一定的工作的。这些流量损失主要分布在:(1)某台中间件所在的物理机突然宕机。 (2)中间件的升级和发布。 由于我们的中间件是作为数据库的代理提供给应用的,即应用把我们的中间件当做数据库,如下图所示:所以出现上述问题后,业务上很难通过重试等操作去屏蔽这些影响。这就势必需要我们在...

阅读全文>>

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. 进行下载第五步:通过 rpm -qa | grep mariadb 命令查看 mariadb 的安装包第六步:通过 rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps 命令装卸 maria...

阅读全文>>