MySQL常用函数介绍
前言:MySQL数据库中提供了很丰富的函数,比如我们常用的聚合函数,日期及字符串处理函数等。SELECT语句及其条件表达式都可以使用这些函数,函数可以帮助用户更加方便的处理表中的数据,使MySQL数据库的功能更加强大。本篇文章主要为大家介绍几类常用函数的用法。1.聚合函数聚合函数是平时比较常用的一类
揭秘MySQL主从数据不一致
前言:目前MySQL数据库最常用的是主从架构,大多数高可用架构也是通过主从架构演变而来。但是主从架构运行时间长久后容易出现数据不一致的情况,比如因从库可写造成的误操作或者复制bug等,本篇文章将会详细探究出现主从不一致及如何解决这种问题。1.造成主从不一致的原因造成主从不一致的可能原因有很多,下面简
MySQL-长事务详解
前言:『入门MySQL』系列文章已经完结,今后我的文章还是会以MySQL为主,主要记录下近期工作及学习遇到的场景或者自己的感悟想法,可能后续的文章不是那么连贯,但还是希望大家多多支持。言归正传,本篇文章主要介绍MySQL长事务相关内容,比如说我们开启的一个事务,一直没提交或回滚会怎样呢,出现事务等待
【MySQL】查询语法简介
前言:本篇文章主要简介下MySQL中where,groupby,orderby,limit,join,union,unionall,子表等查询语法。测试数据准备createtableemp(empnonumeric(4)notnull,enamevarchar(10),jobvarchar(9),m
如何优雅的备份账号相关信息
前言:最近遇到实例迁移的问题,数据迁完后还需要将数据库用户及权限迁移过去。进行逻辑备份时,我一般习惯将MySQL系统库排除掉,这样备份里面就不包含数据库用户相关信息了。这时候如果想迁移用户相关信息可以采用以下三种方案,类似的我们也可以采用以下三种方案来备份数据库账号相关信息。(本文方案针对MySQL
【MySQL】外键约束介绍
官方文档:https://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html1.外键作用:MySQL通过外键约束来保证表与表之间的数据的完整性和准确性。2.外键的使用条件1.两个表必须是InnoDB表,MyISAM表暂时不支持
【MySQL】Dockerfile书写简单示例
Docker是2013发起的一个项目,早在2013年,Docker自诞生起,就是整个技术界的明星项目,当时我还在上海实习,就在各种技术媒体上看到了Docker的介绍文章,很多技术媒体宣称docker是一项技术突破,并且是一次技术革命,可惜当时由于本身是一个AndroidFramework开发者,眼界
MySQL 高可用集群太难部署,我用 Docker 五分钟就搞定它!
1集群方案Replication速度快,但仅能保证弱一致性,适用于保存价值不高的数据,比如日志、帖子、新闻等。采用Master-Slave结构,在Master写入会同步到Slave,能从Slave读出;但在Slave写入无法同步
MySQL备份脚本,应该这么写
前言:数据库备份的重要性不言而喻,特别是在生产环境,任何数据的丢失都可能产生严重的后果。所以,无论什么环境,我们都应该有相应的备份策略来定时备份数据库。在MySQL中,比较常用的逻辑备份工具是mysqldump,本篇文章将介绍MySQL定时备份的方法。1.制定合适的备份策略对于不同的数据库环境,我们
MySQL redo与undo日志解析
前言:前面文章讲述了MySQL系统中常见的几种日志,其实还有事务相关日志redolog和undolog没有介绍。相对于其他几种日志而言,redolog和undolog是更加神秘,难以观测的。本篇文章将主要介绍这两类事务日志的作用及运维方法。1.重做日志(redolog)我们都知道,事务的四大特性里面
从全备中恢复单库或单表,小心有坑!
前言:MySQL逻辑备份工具最常用的就是mysqldump了,一般我们都是备份整个实例或部分业务库。不清楚你有没有做过恢复,恢复场景可能就比较多了,比如我想恢复某个库或某个表等。那么如何从全备中恢复单库或单表,这其中又有哪些隐藏的坑呢?这篇文章我们一起来看下。1.如何恢复单库或单表前面文章有介绍过M
MySQL事务简介
前言:在学习MySQL的过程中,事务永远是一项绕不开的话题,日常程序开发也经常会用到事务。本篇文章将以MySQL8.0版本为基础,一起来深入了解下MySQL事务。一、事务的定义数据库事务(DatabaseTransaction),是指作为单个逻辑工作单元执行的一系列操作,要么完整地执行,要么完全地不
MySQL从库维护经验分享
前言:MySQL主从架构应该是最常用的一组架构了。从库会实时同步主库传输来的数据,一般从库可以作为备用节点或作查询使用。其实不只是主库需要多关注,从库有时候也要经常维护,本篇文章将会分享几点从库维护经验,一起来学习吧。1.主从复制建议采用GTID模式GTID即全局事务ID(GlobalTransac
安装MySQL后,需要调整的10个性能配置项
本文翻译自Percona官方博客,适用于MySQL5.6及5.7版本。作者:StephaneCombaudon原文:https://www.percona.com/blog/2014/01/28/10-mysql-performance-tuning-settings-after-installat
MySQL字段类型最全解析
前言:要了解一个数据库,我们必须了解其支持的数据类型。MySQL支持大量的字段类型,其中常用的也有很多。前面文章我们也讲过int及varchar类型的用法,但一直没有全面讲过字段类型,本篇文章我们将把字段类型一网打尽,讲一讲常用字段类型的用法。常用的字段类型大致可以分为数值类型、字符串类型、日期时间
MySQL查看及杀掉链接方法大全
前言:在数据库运维过程中,我们时常会关注数据库的链接情况,比如总共有多少链接、有多少活跃链接、有没有执行时间过长的链接等。数据库的各种异常也能通过链接情况间接反应出来,特别是数据库出现死锁或严重卡顿的时候,我们首先应该查看数据库是否有异常链接,并杀掉这些异常链接。本篇文章将主要介绍如何查看数据库链接
MySQL 线程池总结
线程池是MySQL5.6的一个核心功能,对于服务器应用而言,无论是web应用服务还是DB服务,高并发请求始终是一个绕不开的话题。当有大量请求并发访问时,一定伴随着资源的不断创建和释放,导致资源利用率低,降低了服务质量。线程池是一种通用的技术,通过预先创建一定数量的线程,当有请求达到时,线程池分配一个
不会吧?还在用 MHA 做 MySQL 高可用?
Orchestrator是一款成熟的MySQL高可用中间件。采用Go语言编写,支持拓扑发现、集群重塑、拓扑恢复等功能。主要功能拓扑发现:Orchestrator主动搜寻并记录MySQL节点的主从配置、复制状态等基础信息并进行拓扑映射。即使发生故障,它依然可以提供出色的可视化拓扑图。集群重塑:Orch
MySQL打印死锁日志
前言:在MySQL运维过程中,难免会遇到MySQL死锁的情况,一旦线上业务日渐复杂,各种业务操作之间往往会产生锁冲突,有些会导致死锁异常。这种死锁异常一般要在特定时间特定数据和特定业务操作才会复现,有时候处理起来毫无头绪,一般只能从死锁日志下手。本篇文章我们一起来看下MySQL的死锁日志。1.手动打
MySQL乱码问题如何排查
MySQL客户端和服务器是怎么通信的?1.首先请求会被MySQL客户端编码为字节序列之后通过网络传输到服务器。对于MySQL自带的客户端来说,这个编码过程使用的字符集和我们使用的操作系统的默认字符集是一样的,类Unix系统的默认字符集就是utf8,Windows系统的默认字符集就是g