栏目: MySQL

一次MySQL启动导致的事故实战记录

MySQL`启动存在端口被监听,但服务没完全启动的情况.背景MySQL启动时会进行第一次初始化数据库,等待MySQL完全启动后,再进行第二次初始化数据库.第一次初始化数据库使用--skip-networking(这个选项表示禁止MySQL的TCP/IP连接方式)启动MySQL进行初始化,初始化完成后...

2021-09-14 65 0 0 阅读全文

Mysql触发器创建与使用方法

什么是触发器触发器用来在某些操作之后/之前,“自动”执行一些操作。(比如插入了新的学生信息,那么在班级表中应该修改学生数)。当insertdeleteupdate设置触发器之后,执行insertdeleteupdate操作就会自动触发设置的内容。一张表最大能有6个触发器(3*2,三种操作*两种时间(...

2021-07-01 104 0 0 阅读全文

详解MySQL 5.7 MGR单主确定主节点方法

我们行MGR年底要上线了,每天都要看官方文档学习,做测试,坚持每天写一个小知识点,有想一起学习的么~MySQL5.7MGR单主确定主节点是哪个,我们可以通过成员ID来判断,然后结合read_only参数来确认。[root@localhost~]#mysql-uroot-p-P3306-h127.0....

2021-04-28 155 0 0 阅读全文

MySQL关于ERROR 1290 (HY000)报错解决方法

一个问题纠结很久,反复确认语法问题。但是后来网上搜了一下,茅塞顿开。特此总结一下。mysql>grantselect,insert,update,deleteon*.*to'root'@'%';ERROR1290(HY000):TheMySQLserverisrunningwiththe--s...

2021-04-27 99 0 0 阅读全文

MySQL多表查询的具体实例

一 使用SELECT子句进行多表查询SELECT 字段名 FROM 表1,表2 … WHERE 表1.字段 = 表2.字段 AND 其它查询条件SELECT a.id,a.name,a.address,a.date,b.math,b.english,b.chinese FROM tb_demo065...

2021-04-03 98 0 0 阅读全文

浅谈Mysql主键索引与非主键索引区别

什么是索引MySql官方索引的定义:索引(Index)是帮助MySql高效获取数据的数据结构,索引的目的在于提高查询效率,类比字典;实际上索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录,索引列也是要占用空间。主键索引和普通索引的区别1.主键索引索引着数据,然而普通索引索引着主键ID值(...

2021-09-08 50 0 0 阅读全文

MySQL 5.7常见数据类型

——《深入浅出MySQL(第二版)》笔记数值类型MySQL支持所有标准SQL中的类型,其中包括严格数值类型(INTEGER、SMALLINT、DECIMAL、NUMBERIC),以及近似数值类型(FLOAT、FEAL、DOUBLEPRECISION),并且在此基础上做了扩展。扩展增加了TINYINT...

2021-07-16 172 0 0 阅读全文

Mysql主键Id的生成方式(自增、唯一不规则)

1、利用uuid函数生成唯一且不规则的主键idsql:CREATETABLE`test`( `id`varchar(100)COLLATEutf8_estonian_ciNOTNULLCOMMENT'唯一不重复', `create_time`timestampNOTNULLDEFAULTCURREN...

2021-09-08 48 0 0 阅读全文

详解MySQL自增主键的实现

一、自增值保存在哪儿?不同的引擎对于自增值的保存策略不同1.MyISAM引擎的自增值保存在数据文件中2.InnoDB引擎的自增值,在MySQL5.7及之前的版本,自增值保存在内存里,并没有持久化。每次重启后,第一次打开表的时候,都会去找自增值的最大值max(id),然后将max(id)+步长作为这个...

2021-09-08 48 0 0 阅读全文

为什么Mysql自增主键不是连续的

一提出这个问题,是因为在工作中发现mysql中的user表的id默认是自增的,但是数据库存储的结果却不是连续的。user表结构:CREATETABLE`user`(`id`bigint(20)unsignedNOTNULLAUTO_INCREMENTCOMMENT'递增id',`name`varch...

2021-09-08 54 0 0 阅读全文

Win10安装和卸载Mysql5.7教程

我装msi格式的,主要是想看看装完的my.ini,文件位置C:\ProgramData\MySQL\MySQLServer5.7\my.ini,注意:ProgramData是隐藏文件夹mysql5.7windows默认my.ini一、下载地址https://dev.mysql.com/downloa...

2021-06-25 114 0 0 阅读全文

VS2019连接Mysql8.0数据库

1.首先准备好VS2019以及mysql数据库,两者都可以去官网下载,我们直接描述连接过程。2.连接:第一步:打开mysql的安装目录,我本地的安装目录如下:(注意是否有include和lib文件夹)第二步:打开VS2019,新建一个空工程。第三步:右击工程名,打开属性页:第四步:打开VC++目录,...

2021-06-25 93 0 0 阅读全文

简述MySQL主键和外键使用及说明

MySQL主键和外键使用及说明一、外键约束MySQL通过外键约束来保证表与表之间的数据的完整性和准确性。外键的使用条件:1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持);2.外键列必须建立了索引,MySQL4.1.2以后的版本在建立外键时会自...

2021-09-08 53 0 0 阅读全文

Mysql索引类型与基本用法

-普通索引是最基本的索引,它没有任何限制。CREATEINDEXIndexNameON`TableName`(`字段名`(length))-唯一索引与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。CREATEUNIQUEINDEXindexN...

2021-06-25 149 0 0 阅读全文

Mysql Explain用法与结果深入分析

在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL...

2021-04-03 86 0 0 阅读全文

Mysql判断当前时间是否在开始与结束时间之间且开始与结束时间允许为空

需求:查询进行中的活动数据进行中一共有以下几种情况:1.开始时间为空,结束时间为空,此结果数据将永远为进行中的数据2.开始时间为空,结束时间不为空,则当前时间在结束时间之前,为进行中的数据3.开始时间不为空,结束时间为空,则当前时间在开始时间之后,为进行中的数据4.开始时间不为空,结束时间不为空,则...

2021-09-08 85 0 0 阅读全文

MySQL的MaxIdleConns不合理,会变成短连接的原因

1背景最近石墨文档线上业务出现了一些性能问题,在突发流量情况下,有个业务性能急剧下降。该服务是依赖于数据库的业务,会批量获取数据库里的数据。在经过一系列的排查过程后,发现该服务到数据库的连接数经常超过MaxIdleConns,因此怀疑是数据库的配置导致的性能问题,所以以下针对数据库的代码进行了剖析,...

2021-03-10 109 0 0 阅读全文

MySQL大型SQL文件快速恢复方案分享

在使用Mysql数据库的过程中,经常需要使用到备份和恢复数据库,最简单便捷的方法便是通过导出SQL数据文件和导入SQL数据文件来完成备份和恢复,但是随着项目的增长,数据量越来越大,每次恢复就成了一件很头疼的事情。当我最近一次拉下项目中的5GB大小的数据库到本地进行恢复时,竟然需要耗时40-50分钟,...

2021-04-27 73 0 0 阅读全文

几个MySQL高频面试题的解答

:在各类技术岗位面试中,似乎MySQL相关问题经常被问到。无论你面试开发岗位或运维岗位,总会问几道数据库问题。经常有小伙伴私信我,询问如何应对MySQL面试题。其实很多面试题都是大同小异的,提前做准备还是很有必要的。本篇文章简单说下几个常见的面试题,一起来学习下吧。1.什么是关系型数据库?谈谈你对M...

2021-03-09 139 0 0 阅读全文

MySQL事务的隔离性是如何实现的

并发场景最近做了一些分布式事务的项目,对事务的隔离性有了更深的认识,后续写文章聊分布式事务。今天就复盘一下单机事务的隔离性是如何实现的?隔离的本质就是控制并发,如果SQL语句就是串行执行的。那么数据库的四大特性中就不会有隔离性这个概念了,也就不会有脏读,不可重复读,幻读等各种问题了对数据库的各种并发...

2021-09-08 61 0 0 阅读全文