MySQL之高可用架构详解
目录引言MySQL高可用一主一备:MySQL主从同步的几种模式:总结 引言
“高可用”是互联网一个永恒的话题,先避开MySQL不谈,为了保证各种服务的高可用有几种常用的解决方案。
服务冗余:把服务部署多份,当某个节点不可用时,切换到其他节点。服务冗余对于无状态的服务是相对容易的。
服务备...[2021/12/17]
GROUP BY 后获取每一组最新的一条记录
最近有个需求,一个订单可能会存在多个支付单,需要我们获取每个订单最新的支付单。思路如下:
写一个子查询,该子查询负责查询每个订单最新的支付单ID,然后和支付单表进行内关联查询。
情况一:数据库主键自增情况,取ID最大的那条记录
SELECT id,
xx,
xx...[2021/12/17]
Linux环境下安装mysql5.7.36数据库教程Linux环境下安装mysql5.7.36数据库教程
下载地址:https: dev.mysql.com/download mysql/5.7.html#downloads
上传到服务器
rz -be
解压文件
tar -xvf mysql-5.7.36-linux-glibc2.12-x86_64.ta...[2021/12/17]
【MySQL】笔记(1)--- MySQL 数据库概述;常用 DOS命令,SQL命令(初步);
1. sql、DB、DBMS分别是什么,他们之间的关系? DB: DataBase(数据库,数据库实际上在硬盘上以文件的形式存在)
DBMS: &...[2021/12/15]
【MySQL】笔记(2)--- 部分 DQL 语句;条件查询;排序;分组函数;单行处理函数;group by ,having ;
1.简单的查询语句(DQL):
select 字段名1,字段名2,字段名3,.... from 表名;
注意: 1、任何一条sql语句都...[2021/12/15]
【MySQL】笔记(3)--- 连接查询;子查询;union;limit;
一.连接查询:
1.1、什么是连接查询? 在实际开发中,大部分的情况下都不是从单表中查询数据,一般都是多张表联合查询取出最终的结果。 在实际开发中,一般一个业务都会对应多张表,比如:学生和班级,起码两张表。 ...[2021/12/15]
【MySQL】笔记(4)--- 创建表;插入,修改,删除数据;主键,外键约束;事务;索引;视图;三范式;
一.创建表:
1.1 建表语句的语法格式: create table 表名( 字段名1 数据类型, ...[2021/12/15]
【MySQL】试题 --- 31道巩固 SQL 语句的练习题
前言:以下试题中涉及的 table 均来自博主前面发的随笔“【MySQL】笔记(1)--- MySQL 数据库概述;常用 DOS命令,SQL命令(初步);”
1.取得每个部门最高薪水的人员名称 先取出每个部门的最高薪水,再作为临时表与(对应最高薪水的人员名称表)连接...[2021/12/15]
navicat~导出数据库密码
当我们mysql密码忘记了,而在navicat里有记录,我们应该如何导出这个密码呢?
第一步:文件菜单,导出链接,导出连接获取到 connections.ncx 文件
这里需要勾选 导出密码!!! 不然导出的文件里不包含加密的密码
第二步:找到加密密码,进行破解
在导出的co...[2021/12/15]
MySQL索引详解,面试必问
1、什么是索引?
索引是帮助MySQL高效获取数据的数据结构(有序)。
在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。
图示:
索引本身也很大,一...[2021/12/15]
彻底删除MySQL步骤介绍
目录1、先停止 MySQL Server2、卸载 MySQL Server3、删除 MySQL 文件夹4、删除注册表 1、先停止 MySQL Server
步骤:此电脑 ——> 管理 ——> 服务与应用程序 ——> 服务 ——> 找到 MySQL ——> 停止
...[2021/12/9]
MySQL中查询当前时间间隔前1天的数据
1.背景
实际项目中我们都会遇到分布式定时任务执行的情况,有时定时任务执行的时候如果查询的数据量比较大时,我们会选择执行时间间隔几天前的数据筛选后进行执行。
避免执行全量的数据导致内存占用过大或执行时间过长导致OOM等问题。
这里我们就会用到SQL来过滤当前时间间隔1天或几天的查询。
...[2021/12/8]
一起了解了解MySQL存储引擎
目录前言一、MySQL主要存储引擎:二、实例介绍它们(不同的存储引擎在存储表的时候的异同点) 前言
在日常生活中文件格式有很多种,并且针对不同的文件格式会有对应不同存储方式和处理机制(如:.txt、.pdf、.mp4.......)
针对不同的数据应该有对应的不同的处理机制来存储
存储引...[2021/12/8]
MySQL使用Partition功能实现水平分区的策略
目录1 回顾2 水平分区的5种策略2.1 、Hash(哈希)2.2、 Range(范围)?2.3、Key(键值)2.4、List(预定义列表)2.5、Composite(复合模式)3 测试Range策略3.1 建立总表与分表3.1.1 总表语句3.1.2 分表语句3.2 初始化表数据3.3 同步数据...[2021/12/8]
mysql事务详细介绍
目录简介事务四个特性事务隔离级别验证MVCC当前读快照读当前读、快照读、MVCC关系mvcc 解决的问题MVCC实现原理可见性规则 简介
事务是由一组sql语句组成的逻辑处理单元
事务四个特性
原子性(Atomicity):
要么都成功要么都失败
undo log实现
...[2021/12/8]
php7 安装mysqli实例讲解
本文操作环境:Windows7系统、php-7.1.5、Dell G3。
php7 怎么安装mysqli?
centos php7 安装mysqli扩展心得
在新配服务器时发现,php无法连接到mysql。通过phpinfo发现。根本没有显示mysqli的相关配置。经过一系列研究...[2021/11/29]
MySQL在线开启或禁用GTID模式MySQL在线开启或禁用GTID模式
目录基本概述在线开启GTID1. 设置GTID校验ENFORCE_GTID_CONSISTENCY为WARN2. 设置GTID校验ENFORCE_GTID_CONSISTENCY为ON3. 设置GTID_MODE为OFF_PERMISSIVE4. 设置GTID_MODE为ON_PERMISSIVE...[2021/11/29]
MySQL多版本并发控制MVCC深入学习
MVCC
MVCC(Multi-Version Concurrency Control),即多版本并发控制。是 innodb 实现事务并发与回滚的重要功能。锁机制可以控制并发操作,但是其系统开销较大,而MVCC可以在大多数情况下代替行级锁,使用MVCC,能降低其系统开销.
具体实现是在数据库...[2021/11/29]
MySQL详细汇总常用函数
目录MySQL常用函数一、数字函数二、字符串函数三、时间函数四、系统函数五、聚合函数 MySQL常用函数
一、数字函数
附加:ceil(x) 如ceil(1.23) 值为2 可以写成ceiling(x)
二、字符串函数
划线就是常用的(取字节数)
附加:char...[2021/11/24]
MySQL数据备份之mysqldump的使用方法
?一、mysqldump 简介
mysqldump 是 MySQL 自带的逻辑备份工具。MySQLdump是一个数据库逻辑备份程序,可以使用对一个或者多个mysql数据库进行备份或者将数据传输到其他mysql服务器。执行mysqldump时需要账户拥有select权限才可以进行备份数据表,sho...[2021/11/23]
CentOS安装MySQL5.5的完整步骤
目录一 、安装前准备、安装包下载1 准备安装2 下载安装包二、开始安装1 将tar安装包上传到CentOS并解压2 移动到/usr/local目录下并改名3 增加MySQL配置文件4 再配置并安装三、配置并启动服务 1 配置命令(在MySQL目录下)2 启动服务命3 *报错及解决方法4 配置环境变量...[2021/11/22]
关于MySQL中的 like操作符详情
1、简介
当对未知或者说知道某一部分的值进行过滤时,可以使用like操作符;like操作符用于模糊匹配。
like支持两个通配符,它们分别是:
%通配符,用于匹配多个字符
_通配符,用于匹配单个字符
通配符根据其所处未知又分为六种匹配方式...[2021/11/16]
MySQL中order by的使用详情
目录1、简介2、正文2.1 单个列排序2.2 多个列排序2.3 排序的方式2.4 order by结合limit
1、简介
在使用select语句时可以结合order by对查询的数据进行排序。如果不使用order by默认情况下MySQL返回的数据集,与它在底层表中的顺序相同,可能与你添...[2021/11/16]
MySQL数据库中varchar类型的数字比较大小的方法
创建测试表
-- ----------------------------
-- Table structure for check_test
-- ----------------------------
DROP TABLE IF EXISTS `check_test`;
C...[2021/11/15]
mysql中varchar类型的日期进行比较、排序等操作的实现
在mysql使用过程中,日期一般都是以datetime、timestamp等格式进行存储的,但有时会因为特殊的需求或历史原因,日期的存储格式是varchar,那么我们该如何处理这个varchar格式的日期数据呢?
使用函数:STR_TO_DATE(str, format)
STR_TO_D...[2021/11/15]
MySQL中varchar和char类型的区别
目录前述VARCHAR类型VARCHAR适用情况CHAR类型测试VARCHAR(5)与VARCHAR(200)的区别总结 前述
VARCHAR和CHAR是两种最主要的字符串类型。不幸的是,很难精确地解释这些值是怎么存储在磁盘和内存中的,因为这跟存储引擎的具体实现有关。下面的描述假设使用的存储引擎...[2021/11/15]
MySQL表类型 存储引擎 的选择
目录1、查看当前数据库支出的存储引擎方法1:方法2:2、ENGINE={存储引起类型} 创建表的时候,设置存储引擎3、alter able tablename engine={存储引起类型} 修改表为其他存储引擎3.1 常用存储引擎的对比3.2 常用存储引擎学习(MyISAM、InnoD...[2021/11/9]
MySQL 数据类型详情
目录1、数值类型1.1、数值类型分类1.1.1、浮点数1.1.2、位类型1.1.3、时间日期类型
1.1.4、字符串类型1.1.5、ENUM 类型1.1.6、SET类型 1、数值类型
1.1、数值类型分类
严格数值类型(INTEGER、SMALLINT、DECIMAL 和 NUME...[2021/11/9]
MYSQL 运算符总结MYSQL 运算符总结
目录1、算数运算符2、比较运算符3、逻辑运算符4、位运算符5、运算符的优先级 1、算数运算符
MySQL支持的算术运算符:
运算符
...[2021/11/9]
MySQL 服务和数据库管理
目录1、启动和关闭服务指令1.1windows下Mysql5.7官方MSI安装地址1.2、windows下1.3、linux下1.4、windows下cmd窗体进入mysql:1.4、数据库管理1.5、配置MySQL允许远程访问
1、启动和关闭服务指令
1.1windows下Mysql5.7官...[2021/11/9]
详细介绍windows下MySQL安装教程
目录1、下载前需要了解的一些概念2、选择自己需要的版本3、连接MySQL服务 前言:
大家好,我是小诚,这段时间在网上进行了一些面试,发现无论什么公司,数据库的面试题都是不可避免的,甚至一些前端工程师面试的时候都避免不了被询问到和数据库有关的一些问题。
通过面试,也发现了一些现象,网上的...[2021/11/8]
mysql索引过长Specialed key was too long的解决方法
目录解决办法一解决办法二
在创建要给表的时候遇到一个有意思的问题,提示Specified key was too long; max key length is 767 bytes,从描述上来看,是Key太长,超过了指定的 767字节限制
下面是产生问题的表结构
CREATE ...[2021/11/8]
如何利用Python连接MySQL数据库实现数据储存
目录介绍
Python连接MySQL实现数据储存总结 介绍
MySQL是一个关系型数据库,MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库。最开始由瑞典的MySQL AB公司开发,后来被甲骨文公司(Oracle)收购。
如何利用Python连接MySQL数据库实现数据储...[2021/11/8]
通过Python收集汇聚MySQL 表信息
目录一.需求二.公共基础文件说明1.配置文件2.定义声明db连接3.定义声明访问db的操作三.主要代码3.1 创建保存数据的脚本3.2 收集的功能脚本 一.需求
统计收集各个实例上table的信息,主要是表的记录数及大小。
收集的范围是cmdb中所有的数据库实例。
二.公共基础文件...[2021/10/25]
mysql 数据插入和更新及删除详情mysql 数据插入和更新及删除详情
目录1、插入2、更新3、删除 1、插入
INSERT INTO customers(
customers.cust_addre ,
customers.cust_city,
customers.cust_state,
customers.cust_zip,
customers....[2021/10/25]
mysql 计算函数详情
目录2、字段拼接2、举一些mysql 函数例子2.1 符处理2.2 期处理2.3 值处理 函数没有SQL的可移植性强 能运行在多个系统上的代码称为可移植的(portable)。相对来说,多数SQL语句是可移植的,在SQL实现之间有差异时,这些差异通常不那么难处理。
而函数的可移植性却不强。几乎每...[2021/10/25]
mysql 通配符(sql 高级过滤)mysql 通配符(sql 高级过滤)
目录
首先简单介绍一下通配符,用来匹配值的一部分的特殊字符。
搜索模式(search pattern) 由字面值、通配符或两者组合构成的搜索条件。
通配符是对操作符的一种补充,操作符都确认的,而通配符属于模糊的。
下面介绍几个例子:
% 通配符:
SEL...[2021/10/25]
mysql 数据汇总与分组
我们经常需要汇总数据而不用把它们实际检索出来,为此MySQL提供了专门的函数。使用这些函数,MySQL查询可用于检索数据,以便分析和报表生成。
这种类型的检索例子有以下几种:
确定表中行数(或者满足某个条件或包含某个特定值的行数)。
获得表中行组的和。
找出表...[2021/10/25]
MySQL 8.0 可以操作 JSON 了
目录1、简单概述2、JSON基础工具3、JSON Path expre ion4、查找并修改JSON 前言:
经过漫长的测试,即将整体迁移至Mysql8.0; Mysql8.0 对于Json操作新增/优化了很多相关Json的API操作; 阅读了一下官方文档,虽然绝大多数的JSON操作都是应用层完...[2021/10/19]
MySQL8新特性之全局参数持久化详解
目录前言
全局参数持久化
写在最后
总结参考文档: 前言
自从 2018 年发布第一版 MySQL 8.0.11 正式版至今,MySQL 版本已经更新迭代到 8.0.26,相对于稳定的 5.7 版本来说,8.0 在性能上的提升是毋庸置疑的!
随着越来越多的企业开始使用 MySQL 8...[2021/10/11]
MySQL数据库的事务和索引详解
目录一、事务:事务四大特性:并发事务带来哪些问题?(隔离所导致的一些问题)事务隔离级别有哪些?MySQL的默认隔离级别:二、索引:索引的作用:索引的分类:索引准则:索引的数据结构:总结 一、事务:
事务是逻辑上的一组操作,要么都成功,要么都失败!
————————————————————...[2021/10/11]
MySQL修炼之联结与集合浅析
联结查询
联结查询就是指两张或者以上的表之间进行匹配查询,一般称之为水平操作,就是最终结果会包含这几个表中所有的列,MySQL中有三种联结操作,交叉联结、内联结、外联结。
交叉联结叫做CROSS JOIN,他对两个表执行笛卡儿积,他将返回两个表中所有列的组成,比如左表中有n条数据,右表中...[2021/9/28]
MySql数据库单表查询与多表连接查询效率对比
这段时间在做项目的过程中,遇到一个模块,数据之间的联系很复杂,在建表的时候就很纠结,到底该怎么去处理这些复杂的数据呢,是单表查询,然后在业务层去处理数据间的关系,还是直接通过多表连接查询来处理数据关系呢?
通过查阅资料和阅读博客,有以下两个回答:
一、《高性能mysql》中的回答
很多高...[2021/9/27]
MySQL数据库分组查询group by语句详解MySQL数据库分组查询group by语句详解
一:分组函数的语句顺序
1 SELECT
...
2 FROM
...
3 WHERE
...
4 GROUP BY
...
5 HAVING
...
6 ORDER BY
...
...[2021/9/27]
Linux系统利用crontab定时备份Mysql数据库方法Linux系统利用crontab定时备份Mysql数据库方法
利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。
1、创建保存备份文件的路径/mysqldata
#mkdir /mysqldata
2、创建/usr bin/bakmysql文件
#vi /usr bin/bakmysql
...[2021/9/22]
详解MySQL自增主键的实现
目录一、自增值保存在哪儿?二、自增值修改机制三、自增值的修改时机四、自增锁的优化五、自增主键用完了 一、自增值保存在哪儿?
不同的引擎对于自增值的保存策略不同
1.MyISAM引擎的自增值保存在数据文件中
2.InnoDB引擎的自增值,在MySQL5.7及之前的版本,自增值保存在内存里,...[2021/9/6]
mysql主键id的生成方式(自增、唯一不规则)
目录1、利用uuid函数生成唯一且不规则的主键id2、id实现自动增长 1、利用uuid函数生成唯一且不规则的主键id
sql:
CREATE TABLE `test` (
`id` varchar(100) COLLATE utf8_estonian_ci NOT NULL ...[2021/9/6]
浅谈Mysql主键索引与非主键索引区别
目录什么是索引
主键索引和普通索引的区别
索引具体采用的哪种数据结构
InnoDB使用的B+ Tree的索引模型,那么为什么采用B+ 树?这和Hash索引比较起来有什么优缺点?
B+ Tree的叶子节点都可以存哪些东西?
聚簇索引和非聚簇索引,在查询数据的时候有区别?
Index Condi...[2021/9/6]
为什么mysql自增主键不是连续的
目录一 前言二 自增值存储说明三 自增值修改机制四 自增值修改时机五 导致自增值不连续的原因5.1 唯一键冲突5.2 事务回滚5.3 批量写库操作六 参考文档 一 前言
提出这个问题,是因为在工作中发现 mysql 中的...[2021/9/6]
mysql 索引合并的使用
索引合并是mysql底层为我们提供的智能算法。了解索引合并的算法,有助于我们更好的创建索引。
索引合并是通过多个range类型的扫描并且合并它们的结果集来检索行的。仅合并来自单个表的索引扫描,而不是跨多个表的索引扫描。合并会产生底层扫描的三种形式:unions(合并)、intersecti...[2021/8/26]