为庆祝 MySQL 诞辰 30 周年,Oracle University 在限定期间内推出了多个 MySQL 的免费培训课程与认证,其中也包括 MySQL 8.0 OCP 认证。这项认证在业界还是有一定的认可度的,感兴趣的小伙伴一起来白嫖认证吧。
在 MySQL 数据库中,随着数据的增删改操作,表空间可能会出现碎片化,这不仅会占用额外的存储空间,还可能降低表的扫描效率,特别是一些大表,在进行数据清理后会产生大量的碎片。本篇文章我们一起来学习下如何进行碎片回收以及相关注意点。
MySQL 延迟从库介绍
MySQL 常见日志清理策略大全
我们都知道 MySQL 8.0 与 MySQL 5.7 的区别之一就是默认字符集从 latin1 改成了 utf8mb4 ,除此之外,MySQL 8.0 下的字符集和比较规则还有没有其他变化呢?本篇文章我们一起来学习下。
MySQL 克隆插件使用方法介绍
MySQL 官方提供了多种高可用部署方案,从最基础的主从复制到组复制再到 InnoDB Cluster 等等。本篇文章以 MySQL 8.0 版本为准,介绍下不同高可用方案架构原理及使用场景。
学习下 MySQL 官方示例数据库
DBA的好帮手:MySQL Shell 8.0
CentOS 7.9安装MySQL8.0最新版
前言:数据库审计功能主要将用户对数据库的各类操作行为记录审计日志,以便日后进行跟踪、查询、分析,以实现对用户操作的监控和审计。审计是一项非常重要的工作,也是企业数据安全体系的重要组成部分,等保评测中也要求有审计日志。对于DBA而言,数据库审计也极其重要,特别是发生人为事故后,审计日志便于我们进行责任追溯,问题查找。1.MySQL社区版审计日志现状如果你用的是MySQL社区版的话,你会发现MySQL
前言:前面文章(https://blog.51cto.com/mysqljishu/2614716)我们介绍过一些常用数据类型的用法,比如int、char、varchar等。一直没详细介绍过blob及text类型,虽然这两类数据类型不太常用,但在某些场景下还是会用到的。本篇文章将主要介绍blob及text数据类型的相关知识。1.blob类型blob(binarylargeobject)是一个可以存
前言:默认情况下,我们的MySQL实例是可读写的。但有些情况下,我们可以将整个实例设置为只读状态,比如做迁移维护的时候或者将从库设为只读。本篇文章我们来看下MySQL设置只读相关知识。1.关于read_only参数MySQL系统中,提供有read_only和super_read_only两个只读参数,参考官方文档,这里介绍下这两个参数的作用:read_only参数默认不开启,开启后会阻止没有sup
前言:在MySQL运维过程中,难免会遇到MySQL死锁的情况,一旦线上业务日渐复杂,各种业务操作之间往往会产生锁冲突,有些会导致死锁异常。这种死锁异常一般要在特定时间特定数据和特定业务操作才会复现,有时候处理起来毫无头绪,一般只能从死锁日志下手。本篇文章我们一起来看下MySQL的死锁日志。1.手动打印死锁日志当业务发生死锁时,首先是线上错误日志报警发现死锁异常,也会提示一些堆栈信息,然后会反馈到数
前言:我们知道,数据库是存放数据的仓库。日常我们使用数据库也是为了存储数据,和数据库打交道总免不了要进行数据导入工作。工作中也可能遇到各种不同的数据导入需求,本篇文章主要分享下数据导入相关的小技巧,希望你能学到几招。1.弄清需求是关键在进行数据导入前,我们首先要清楚想要做什么,要达到什么效果。最好也要清楚导入的数据量有多大,这样对导入时间也有个评估。其次,对要导入的文件内容也要有大概了解,比如现在
前言:上篇文章介绍了mydumper备份工具的使用方法,文中有提到mydumper和myloader是一对相互的命令,即mydumper负责备份(导出),myloader负责恢复(导入)。那么myloader又该如何使用呢?本篇文章我们一起来看下。1.myloader介绍myloader是与mydumper工具配合使用的多线程备份恢复工具,可以直接以mydumper输出文件为输入,恢复备份数据。主
前言:前面文章有介绍过MySQL系统自带的mysqldump备份工具的使用,其实还有一个开源工具mydumper同样适用于MySQL的逻辑备份。之前一直没有正式体验过,只是听说比mysqldump要快很多,具体使用效果如何,一起来看下吧。1.mydumper简介mydumper是一款社区开源的逻辑备份工具。该工具主要由C语言编写,目前由MySQL、Facebook等公司人员开发维护。官网地址:ht
前言:当连接数据库失败次数过多时,MySQL是否会限制登录呢?数据库服务端应该怎么应对暴力破解呢?本篇文章介绍下MySQL中的连接控制插件,一起来学习下此插件的作用。1.连接控制(connection_control)插件介绍MySQL服务端包含一个插件库,可以自定义安装各类插件。connection_control插件也是其中一种,主要用来控制客户端在登录操作连续失败一定次数后的响应的延迟。该插
前言:我们都知道,当执行select查询语句时,用没用到索引区别是很大的,若没用到索引,一条select语句可能执行好几秒或更久,若使用到索引则可能瞬间完成。那么当执行update语句时,用没用到索引有什么区别呢,执行时间相差大吗?本篇文章我们一起来探究下。1.updateSQL测试为了对比出差距,这里笔者创建两张一样数据的大表,一张有普通索引,一张无普通索引,我们来对比下二者的差别。sqltb_
前言:当我们安装好MySQL数据库后,会发现数据库实例自带有information_schema系统库,你是否有去关注过这个系统库呢?是否有查询过此库中的表数据呢?又是否清楚此库存在的具体作用呢?带着这些疑问,我们一起来看本篇文章。1.information_schema简介information_schema顾名思义就是一个信息库,是用来存储数据库的元数据(比如数据库,表的名称,列的数据类型或者
前言:数据库作为数据存储的载体,在程序开发中承担着至关重要的作用。近些年,随着各种安全事故的发生,数据安全性逐渐得到重视。等保评测或各类系统安全评测中也都有增加数据库安全相关要求,本篇文章将以MySQL为例,分享几点数据库安全加固方法。1.数据安全重要性数据安全性是指保护数据免受未经许可而故意或偶然的传送、泄露、破坏、修改,是标志程序和数据等信息的安全程度的重要指标。即保护数据不被破坏或泄露,不准
前言:在MySQL数据库中,在创建视图及函数的时候,你有注意过definer选项吗?在迁移视图或函数后是否有过报错情况,这些其实都可能和definer有关系。本篇文章主要介绍下MySQL中definer的含义及作用。1.DEFINER简单介绍以视图为例,我们来看下官方给出的视图创建基础语法:sqlCREATEORREPLACEALGORITHM={UNDEFINEDMERGETEMPTABLE}D
前言:在学习MySQL的过程中,可能你了解过触发器的概念,不清楚各位是否有详细的去学习过触发器,最近看了几篇关于触发器的文档,分享下MySQL触发器相关知识。1.触发器简介触发器即triggers,它是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete,update)
**前言:** 经常有小伙伴问我:MySQL 应该怎么学?小白如何入门?我在想,我当时是如何学习 MySQL 的,是否可以给到初学者几点建议,本篇文章,笔者将以自己的经验及认知,谈谈我对新手学习 MySQL 的建议。 #### 搭建好环境,弄清基础概念。 学习 MySQL ,首先要有个自己的环境,可以在自己本机或某台虚拟机上安装下 MySQL ,建议最好使用 Linux 系统,体验下完整的安
**前言:** mysqldump 是日常比较常用的一个工具了,在对数据库进行导出工作时,经常会用到 mysqldump 。本篇文章将介绍 mysqldump 工具的使用方法并分享几点备份技巧。 #### 1.mysqldump使用简介 mysqldump 是 MySQL 系统自带的逻辑备份工具,主要用于转储数据库。它主要产生一系列的 SQL 语句,可以封装到文件,该文件包含重建数据库所需
**前言:** 在 MySQL 中,建表时一般都会要求有主键。若要求不规范难免会出现几张无主键的表,本篇文章让我们一起揪出那个无主键的表。 #### 1.无主键表的危害 以 InnoDB 表为例,我们都知道,在 InnoDB 中,表都是根据主键顺序以索引的形式存放的,这种存储方式的表称为索引组织表。一张 InnoDB 表必须有一个聚簇索引,当有主键时,会以主键作为聚簇索引;如果没有显式定义
**前言:** MySQL 连接状态是数据库中比较重要的一个指标,比如说目前总共有多少个连接、各连接处于什么状态等等,这些连接状态也能从侧面反映出数据库当前运行状况。本篇文章我们一起来学习下 MySQL 连接相关内容。 #### 1.connection相关参数 先来看下 connection 相关参数,只有参数设置合理了,数据库才能跑得更好。 - **max_connections**:最大连接
**前言:** 在学习 MySQL 的过程中,也许你希望有个中文网站可以参考,或许你曾经在搜索引擎中寻找过此类网站。如果你有此类需求的话,那么下面介绍的这个网站你一定要收藏。 #### 1.宝藏文档网站 前面文章有介绍过 MySQL 官方文档,我们知道官方文档都是英文的,虽然可以通过翻译插件翻译为中文,但翻译效果总是不太理想。有些同学可能在想,如果有中文版就好了,在搜索引擎中搜索 MySQL
不知道你有没有注意过,MySQL 启动时需要配置 pid 及 socket 文件路径。偶尔还会出现因 pid 文件找不到而启动失败的现象,那么 pid 与 socket 文件究竟是干什么用的呢?我们一起来看下本篇文章。
前言:一般在数据库使用规范中,我们都会看到这么一条:库名及表名一律使用小写英文。你有没有思考过,为什么推荐使用小写呢?库表名是否应该区分大小写呢?带着这些疑问,我们一起来看下本篇文章。1.决定大小写是否敏感的参数在MySQL中,数据库与data目录中的目录相对应。数据库中的每个表都对应于数据库目录中的至少一个文件(可能是多个文件,具体取决于存储引擎)。因此,操作系统的大小写是否敏感决定了数据库大小
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号