MySQL
文章平均质量分 96
记录MySQL相关数据库的笔记
长林攻城狮
态度决定高度,努力成就人生
展开
-
MySQL-分库分表方案
常用的MySQL分库分表方案以及常用中间件都有哪些?原创 2023-03-19 17:35:17 · 2217 阅读 · 0 评论 -
MySQL高级(八)、主从复制
本文讲解如何实现MySQL数据库的主从复制功能。使用的机器为Windows上的数据库作为主服务器,Linux上的数据库作为从服务器,实现一主一从的配置。文章目录基本原理配置过程修改主机配置修改从机配置建立连接并授权测试基本原理实现主从复制,主机master和从机slave的工作方式如下图所示。MySQL复制过程分成三步:1 master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events;2 slave将master的binary原创 2020-05-30 20:13:00 · 236 阅读 · 0 评论 -
MySQL高级(七)、锁机制
文章目录一、概述定义生活案例锁的分类二、表锁特点加读锁加写锁结论三、行锁特点案例间隙锁使用select加锁加共享锁加排他锁行锁总结一、概述定义锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。生活案例打个比方,我们到淘宝上买原创 2020-05-30 16:42:34 · 212 阅读 · 0 评论 -
MySQL高级(六)、MySQL查询截取分析
文章目录慢查询日志什么是慢查询日志?如何开启和设置?记录什么日志?后续分析日志分析工具mysqldumpslowshow profiles是什么?开启功能诊断SQL全局查询日志配置启用设置永久启动慢查询日志什么是慢查询日志?MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10秒以上的语句。查询出执行慢的语句后原创 2020-05-29 23:02:52 · 318 阅读 · 0 评论 -
MySQL高级(五)、查询优化
文章目录单表查询优化关联查询优化小表驱动大表OrderBy排序优化去重优化单表查询优化案例:有一张表为article表(文章表),表中的字段有文章id、category_id、评论数comments以及被看次数views,建表语句如下所示。现有需求如下,查询 category_id 为1 且 comments 大于 1 的情况下,views 最多的 article_id与author_id。CREATE TABLE IF NOT EXISTS `article` (`id` INT(10) UNS原创 2020-05-29 21:41:18 · 415 阅读 · 0 评论 -
MySQL高级(四)、索引优化之索引失效问题
本文以案例形式介绍索引失效问题,并在最后给出索引失效的小结。索引失效情况全值匹配我最爱;最佳左前缀法则:如果索引了多列,要遵守最左前缀法则,查询从索引的最左前列开始,且不能跳过索引中的列;不在索引列上做任何操作(计算,函数,类型转换),会导致索引失效而转向全表扫描;存储引擎不能使用索引中范围条件右边的列,即范围之后全失效;尽量使用覆盖索引,只访问索引的查询(索引列和查询列一致),减少selec *;MySQL在使用不等于(!= 或者<>)的时候无法使用索引会导致全表扫描;is原创 2020-05-29 16:09:41 · 343 阅读 · 0 评论 -
MySQL高级(三)、使用Explain进行SQL性能分析
在MySQL的逻辑架构的第二层服务层中有一个优化器(Optimizer),该优化器能以它自己认可的一种方式优化底层MySQL的执行顺序。使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理SQL语句的。分析查询语句或是表结构的性能瓶颈。MySQL常见瓶颈MySQL的常见瓶颈分为以下几类:CPU:SQL中对大量数据进行比较、关联、排序、分组(最大的压力在于比较)IO:实例内存满足不了缓存数据或排序等需要,导致产生大量物理 IO。查询执行效率低,扫描过多数据行。锁:原创 2020-05-29 14:15:17 · 529 阅读 · 0 评论 -
MySQL高级(二)、索引优化之索引简介
文章目录性能下降原因索引简介性能下降原因当数据库中的数据量还不是很大的时候,SQL语句的执行时间还是可以接受的,但是当数据量达到几百万的时候,由于SQL语句执行时间长、等待时间长就会造成MySQL的性能下降,产生的原因有如下几点:查询语句写的烂(没有创建索引)索引失效(索引分单值索引和复合索引)关联查询太多join(设计缺陷或不得已的需求)服务器调优及各个参数设置(缓冲,线程数等)索引简介...原创 2020-05-27 14:08:30 · 162 阅读 · 0 评论 -
MySQL高级(一)、MySQL逻辑架构、存储引擎与JOIN理论
文章目录一、MySQL的逻辑架构1.连接层2.服务层3.引擎层4.存储层二、MySQL存储引擎查看存储引擎命令InnoDB和MyISAM的对比三、JOIN理论七种连接查询图解一、MySQL的逻辑架构MySQL逻辑架构图和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。MySQL的逻辑架构主要分为以下四层。原创 2020-05-25 22:26:08 · 374 阅读 · 0 评论 -
Linux上安装MySQL5.7.25--压缩包解压方式安装与RPM安装两种方式
本文整理在Linux上安装MySQL的两种方式,分别是压缩包解压方式安装与RPM软件包方式安装。可以先通读全文,查看两种安装方式的区别,最后选择使用哪种方式进行安装。(推荐第一种)文章目录一、压缩包解压方式环境检查软件安装软件上传与解压添加mysql用户和用户组安装数据库二、RPM方式安装环境检查软件安装启动/停止服务修改乱码问题一、压缩包解压方式环境检查Linux系统版本:CentOS7MySQL版本:mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz注意:原创 2020-05-25 20:27:39 · 3355 阅读 · 1 评论 -
MySQL5.7修改初始化密码问题提示 Your password does not satisfy the current policy requirements
在完成MySQL5.7的安装以后,若不进行初次密码修改,我们不能进行一系列的操作,老是让我们修改密码。ERROR 1820 (HY000): You must reset your password using ALTER USER statement beforemysql初始化密码常见报错问题1. mysql5.6是密码为空直接进入数据库的,但是mysql5.7就需要初始密码cat /var/log/mysqld.log | grep password2. 然后执行mys..转载 2020-05-23 17:02:35 · 1670 阅读 · 0 评论 -
MySQL基本操作整理(九)、MySQL中的变量、存储过程、函数与流程控制结构
本文介绍MySQL数据库中的变量、存储过程、函数以及流程控制结构。这一块是MySQL基础中不会频繁涉及的,但一旦使用就会极大提高工作效率的,特别是存储过程和函数。文章目录一、变量(一)系统变量1.全局变量2.会话变量(二)自定义变量1.用户变量2.局部变量二、存储过程1. 存储过程介绍2. 存储过程创建案例3. 删除存储过程4.查看存储过程信息三、函数1. 函数介绍2.函数创建案例3. 查看函数4. 删除函数四、流程控制结构(一)分支结构1. if函数2. case结构3. if结构(二)循环结构一、变原创 2020-05-19 22:44:30 · 403 阅读 · 0 评论 -
MySQL基本操作整理(八)、MySQL常见约束、事务控制语言与视图
介绍完数据类型后,接着介绍MySQL中的常见约束、事务以及视图。本文就分别从这三个方面进行介绍。文章目录一、常见约束1. 创建表时添加约束2. 修改表时添加约束3. 修改表时删除约束二、事务控制语言三、视图1. 视图介绍2. 创建视图3. 修改视图4. 删除视图5. 查看视图6. 更新视图一、常见约束含义:约束是一种限制,用于限制表中的数据,保证表中的数据的准确和可靠性分类:六大约束PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空UNIQUE:唯一,用于保证该字段的值具有唯原创 2020-05-18 20:31:14 · 599 阅读 · 0 评论 -
MySQL基本操作整理(七)、MySQL数据类型
今天整理整理MySQL中的数据类型,这对理解每个数据库表的设计是非常有帮助的。对于该部门,主要以了解为主,不要求熟练记住每种数据类型对应的取值范围等,在实际的开发过程中,会应用就可以了。MySQL中的数据类型按照大类分,主要分为三类:数值型、字符型和日期型。下面分别介绍每种数据类型。文章目录一、数值型1. 整型2. 小数3.字符型4. 日期型一、数值型数值型分为整数类型和小数类型,小数类型又可分为定点数和浮点数,其中定点数的精度更高。1. 整型MySQL中的整型分为Tinyint, Smalli原创 2020-05-17 20:43:52 · 299 阅读 · 0 评论 -
MySQL基本操作整理(六)、数据操纵语言DML与数据定义语言DDL
在整理完数据查询语言DQL后,接着整理DML与DDL语言。相对于数据查询语言(很重要,内容也很多),数据操纵语言与数据定义语言内容相对较少,本文就放在一篇文章进行整理。文章目录一、数据操纵语言DML1. 插入语句2. 修改语句3. 删除语句二、数据定义语言DDL(一)库的管理1. 库的创建2. 库的修改3. 库的删除(二)表的管理1. 表的创建2. 表的修改【★】3. 表的删除4. 表的复制一、数据操纵语言DMLDML语言主要有三种形式:插入:insert,修改:update,删除:delete。下面原创 2020-05-16 14:43:52 · 1275 阅读 · 0 评论 -
MySQL基本操作整理(五)、子查询与分页查询、联合查询
本文整理MySQL中的子查询,相比于其他的分组查询、排序查询和连接查询等,子查询略微复杂。本文按照子查询出现的位置,将子查询分为主要的几类,并以实际的案例进行介绍,以求用形象的语言来表达清楚子查询。文章目录一、子查询介绍含义分类二、WHERE或HAVING后的子查询1. 标量子查询2. 列子查询3. 行子查询(了解)三、SELECT后的子查询四、FROM后的子查询五、exists后的子查询(相关子查询)一、子查询介绍含义出现在其他语句中的select语句,称为子查询或内查询(其他语句可以是增删改等)原创 2020-05-15 23:00:37 · 606 阅读 · 0 评论 -
MySQL基本操作整理(四)、连接查询
文章目录一、基本概念1.含义2. 笛卡尔乘积现象3. 连接查询的分类二、内连接(一)sql92标准的内连接1.等值连接2.非等值连接3.自连接(二)sql99标准的内连接1. 等值连接2. 非等值连接3. 自连接三、外连接1. 左外连接2. 右外连接3. 全外连接4. 交叉连接四、连接查询总结1. sql92和sql99标准PK2.图解连接查询一、基本概念1.含义连接查询又称多表查询,当要查询的字段来自于多个表时,就会用到连接查询。2. 笛卡尔乘积现象若表1有m行记录,表2有n行记录,当进行查询时原创 2020-05-13 22:38:20 · 228 阅读 · 0 评论 -
MySQL基本操作整理(三)、分组函数与分组查询
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2020-05-08 10:24:59 · 332 阅读 · 0 评论 -
MySQL基本操作整理(二)、排序查询与单行函数
文章目录排序查询常见函数字符函数数学函数日期函数控制函数其他函数单行函数总结排序查询语法:select 查询列表 from 表名【where 筛选条件】order by 排序的字段或表达式;特点:asc代表升序,可以省略(默认是升序); desc代表降序order by子句可以支持单个字段、表达式、别名、函数、多个字段order by子句一般放在查询语句的最后面,除了limit子...原创 2020-04-24 00:35:52 · 210 阅读 · 0 评论 -
MySQL基本操作整理(一)、基础查询与条件查询
常用命令1.将MySQL添加到Windows服务,启/停MySQL服务:net start mysql; (net stop mysql)2. 登录mysqlmysql -h localhost -P 3306 -u root -p123456该语句注意事项:这里的端口号参数-P必须用大写,小写的会报错用户名-u root这里的空格有没有都是可以的密码-p123456 这里要么...原创 2020-04-23 16:19:43 · 1008 阅读 · 0 评论 -
MySQL数据库学习笔记记录
一、零碎知识请一定记住!向mysql的表中插入数据的语句为 insert into table_name values (xxx, ..., xxx);注意语句中没有table关键字 mysql中的varchar类型存储的是字符不是字节,即varchar(2),可以存储两个中文汉字而非一个 在向varchar类型中插入有引号的数值类型时,会自动转换成数值类型,如插入'34.56'时,自...原创 2020-02-14 21:35:25 · 98 阅读 · 0 评论 -
Windows上安装MySQL数据库(完整版)
在安装之前先简单介绍MySQL的两种安装方式:使用installer安装工具安装(xxx.msi后缀的可执行文件,如mysql-installer-community-5.7.27.0.msi),运行msi文件会让我们选择安装所有产品或者自定义安装部分产品,接着按照步骤一路往下走。 使用压缩包安装,解压后进行一些配置即可使用。若采用第一种方式,通常我们的MySQL安装路径会在C:\Prog...原创 2019-11-13 21:41:58 · 4322 阅读 · 1 评论