MySQL乱码问题如何排查
MySQL客户端和服务器是怎么通信的?1.首先请求会被MySQL客户端编码为字节序列之后通过网络传输到服务器。对于MySQL自带的客户端来说,这个编码过程使用的字符集和我们使用的操作系统的默认字符集是一样的,类Unix系统的默认字符集就是utf8,Windows系统的默认字符集就是gbk。启动MyS
int(1) 和 int(10) 有什么区别?资深开发竟然都理解错了!
困惑最近遇到个问题,有个表的要加个user_id字段,user_id字段可能很大,于是我提mysql工单altertablexxxADDuser_idint(1)。领导看到我的sql工单,于是说:这int(1)怕是不够用吧,接下来是一通解释。其
重现MySQL索引失效10个场景,都帮你把坑挖好了
前言之前在《15种SQL优化中,老司机才懂的处理技巧》这篇文章中,从15个方面分享了SQL优化的一些小技巧。今天接着上一期数据库的话题,更进一步聊聊索引的相关问题,因为索引是大家都比较关心的公共话题,确实有很多坑。不知道你在实际工作中,有没有遇到过下面的这两种情况:明明在某个字段上加了索引,但实际上
MySQL常用函数介绍
前言:MySQL数据库中提供了很丰富的函数,比如我们常用的聚合函数,日期及字符串处理函数等。SELECT语句及其条件表达式都可以使用这些函数,函数可以帮助用户更加方便的处理表中的数据,使MySQL数据库的功能更加强大。本篇文章主要为大家介绍几类常用函数的用法。1.聚合函数聚合函数是平时比较常用的一类
MySQL数据类型DECIMAL详解
前言:当我们需要存储小数,并且有精度要求,比如存储金额时,通常会考虑使用DECIMAL字段类型,可能大部分同学只是对DECIMAL类型略有了解,其中的细节还不甚清楚,本篇文章将从零开始,为你讲述DECIMAL字段类型的使用场景及方法。1.DECIMAL类型简介DECIMAL从MySQL5.1引入,列
MySQL库表设计小技巧
前言:在我们项目开发中,数据库及表的设计可以说是非常重要,我遇到过很多库表设计比较杂乱的项目,像表名、字段名命名混乱、字段类型设计混乱等等,此类数据库后续极难维护与拓展。我一直相信只有优秀的库表设计才能发挥出MySQL最大的性能,前面有篇文章也分享了数据库的使用规范,本篇文章主要讲几个库表设计的小技
超实用的索引知识介绍
前言:索引是MySQL数据库中的重要对象之一,索引的目的在于提高查询效率。可以类比字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可。索引是表的目录,在查找内容之前可以先在目录中查找索引位置,以此快速定位查询数据。需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对
一文解决MySQL时区相关问题
前言:在使用MySQL的过程中,你可能会遇到时区相关问题,比如说时间显示错误、时区不是东八区、程序取得的时间和数据库存储的时间不一致等等问题。其实,这些问题都与数据库时区设置有关,本篇文章将从数据库参数入手,逐步介绍时区相关内容。1.log_timestamps参数介绍首先说明下log_timest
一文读懂MySQL权限系统
MySQL权限系统的主要功能是证实连接到一台给定主机的用户,并且赋予该用户在数据库上的SELECT、INSERT、UPDATE和DELETE权限。附加的功能包括有匿名的用户并对于MySQL特定的功能例如LOADDATAINFILE进行授权及管理操作的能力。mysql赋权限操作:谈到mysql权限,在
MySQL 进阶系列教程:升级内存后 MySQL 优化
在这篇文章中,我们来探讨下当您向实例添加更多内存时该怎么做。在扩展资源时,向运行MySQL的服务器添加内存是常见的做法。先看一些背景扩展资源只是为您的环境添加更多资源,这可以分为两种主要方式:垂直扩展和水平扩展。垂直扩展正在增加给定实例的硬件容量,从而拥有更强大的服务
MySQL数据类型DECIMAL详解
前言:当我们需要存储小数,并且有精度要求,比如存储金额时,通常会考虑使用DECIMAL字段类型,可能大部分同学只是对DECIMAL类型略有了解,其中的细节还不甚清楚,本篇文章将从零开始,为你讲述DECIMAL字段类型的使用场景及方法。1.DECIMAL类型简介DECIMAL从MySQL5.1引入,列
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.制定合适的备份策略对于不同的数据库环境,我们