
MySQL入门到实战
文章平均质量分 94
MySQL入门到实战文章合集,干货满满,开源资源
小刘在C站
云计算网络运维专业学员,掌握网络环境搭建,网络运维,网络部署,tcp/ip,SQLserver,Linux基础及Linux高级应用。熟练操作网络基础设备配置与维护,优快云运维领域优质创作者
展开
-
MySQL-数据库读写分离(下)
MyCat控制后台数据库的读写分离和负载均衡由schema.xml文件datahost标签的balance属性控制,通过writeType及switchType来完成失败自动切换的。原创 2023-07-20 19:06:07 · 1198 阅读 · 37 评论 -
MySQL-数据库读写分离(中)
MySQLMySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是原创 2023-07-19 16:02:05 · 3195 阅读 · 115 评论 -
MySQL-数据库读写分离(上)
读写分离简单地说是把对数据库的读和写操作分开以对应不同的数据库服务器。主数据库提供写操作,从数据库提供读操作,这样能有效地减轻单台数据库的压力。通过MyCat即可轻易实现上述功能,不仅可以支持MySQL,也可以支持Oracle和SQL Server。原创 2023-07-17 16:34:48 · 1137 阅读 · 12 评论 -
MySQL-分库分表详解(七)
中进行结果合并、聚合处理、排序处理、分页处理等操作,最终再将结果返回给客户端。解析、分片分析、路由分析、读写分离分析等操作,最终经过一系列的分析决定将当前的。节点数据库,数据库将数据执行完毕后,如果有返回的结果,则将结果返回给。执行一系列的增删改查的测试,然后过一段时间之后,打开。创建表、并插入数据,查看数据分布情况。创建表、并插入数据,查看数据分布情况。创建表、并插入数据,查看数据分布情况。的流量、连接、活动线程和内存等,具备。可视化运维的管理和监控平台,弥补了。作为配置中心,可以管理多个节点。原创 2023-07-15 20:10:34 · 3471 阅读 · 64 评论 -
MySQL-分库分表详解(六)
1111111111 进行位 & 运算,位与运算最小值为 0000000000,最大值为1111111111,转换为十。该算法类似于十进制的求模运算,但是为二进制的操作,例如,取 id 的二进制低 10 位 与。如果是求模,连续的值,分别分配到各个不同的分片;就是获取的分区,如果没找到对应的分片则默认分配到。创建表、并插入数据,查看数据分布情况。创建表、并插入数据,查看数据分布情况。创建表、并插入数据,查看数据分布情况。创建表、并插入数据,查看数据分布情况。分片,降低事务处理的难度。原创 2023-07-11 09:00:00 · 479 阅读 · 42 评论 -
MySQL-分库分表详解(五)
所谓一致性哈希,相同的哈希因子计算值总是被划分到相同的分区表中,不会因为分区节点的增加而改变原来数据的分区位置,有效的解决了分布式数据的拓容问题。该分片规则,主要是针对于数字类型的字段适用。在前面水平拆分的演示中,我们选择的就是取模分片。根据指定的字段值与节点数量进行求模运算,根据运算结果, 来决定该数据属于哪一个分片。根据指定的字段及其配置的范围与数据节点的对应情况, 来决定该数据属于哪一个分片。该分片规则,主要是针对于数字类型的字段适用。的入门程序中,我们使用的就是该分片规则。可以对数据库表进行拆分。原创 2023-07-09 08:41:42 · 2069 阅读 · 20 评论 -
MySQL-分库分表详解(四)
5 MyCat分片5.1 垂直拆分5.1.1 场景在业务系统中, 涉及以下表结构 ,但是由于用户与订单每天都会产生大量的数据, 单台服务器的数据存储及处理能力是有限的, 可以对数据库表进行拆分, 原有的数据库表如下。原创 2023-07-06 16:00:00 · 1869 阅读 · 28 评论 -
MySQL-分库分表详解(三)
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。原创 2023-07-05 18:30:00 · 2183 阅读 · 22 评论 -
MySQL-分库分表详解(二)
bin :存放可执行文件,用于启动停止mycatconf:存放mycat的配置文件lib:存放mycat的项目依赖包(jarlogs:存放mycat的日志文件。原创 2023-07-04 18:30:00 · 1756 阅读 · 23 评论 -
MySQL-分库分表详解(一)
随着互联网及移动互联网的发展,应用系统的数据量也是成指数式增长,若采用单数据库进行数据存储,存在以下性能瓶颈:1. IO瓶颈:热点数据太多,数据库缓存不足,产生大量磁盘IO,效率较低。请求数据太多,带宽不够,网络IO瓶颈。2. CPU瓶颈:排序、分组、连接查询、聚合统计等SQL会耗费大量的CPU资源,请求数太多,CPU出现瓶颈。为了解决上述问题,我们需要对数据库进行分库分表处理。原创 2023-07-03 18:30:00 · 3176 阅读 · 44 评论 -
MySQL主从复制,数据库最经典的主从复制你还不知道吗?我不允许!!!
主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。MySQL支持一台主库同时向多台从库进行复制, 从库同时也可以作为其他从服务器的主库,实现链状复制。MySQL复制的优点主要包含以下三个方面:主库出现问题,可以快速切换到从库提供服务。实现读写分离,降低主库的访问压力。可以在从库中执行备份,以避免备份期间影响主库服务。原创 2023-07-02 18:30:00 · 373 阅读 · 33 评论 -
MySQL日志详解
错误日志错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。原创 2023-07-01 18:30:00 · 1928 阅读 · 23 评论 -
MySQL中常用工具
mysql不是指mysql服务,而是指mysql的客户端工具。-e选项可以在Mysql客户端执行SQL语句,而不用连接到MySQL数据库再执行,对于一些批处理脚本,这种方式尤其方便。原创 2023-06-30 18:30:00 · 1791 阅读 · 85 评论 -
MySQL-SQL InnoDB引擎 (下)
上章讲到InnoDB引擎 (中)本章继续原创 2023-06-29 18:30:00 · 2150 阅读 · 18 评论 -
MySQL-SQL InnoDB引擎 (中)
引擎会先操作缓冲池中的数据,如果缓冲区没有对应的数据,会通过后台线程将磁盘中的数据加载出来,存放在缓冲区中,然后将缓冲池中的数据修改,修改后的数据页我们称为脏页。而缓冲区的脏页数据并不是实时刷新的,而是一段时间之后将缓冲区的数据刷新到磁盘中,假如刷新到磁盘的过程出错了,而提示给用户事务提交成功,而数据却没有持久化下来,这就出现问题了,没有保证事务的持久性。事务 是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。原创 2023-06-28 19:15:00 · 3226 阅读 · 66 评论 -
MySQL-SQL InnoDB引擎 (上)
MySQL5.5版本开始,默认使用InnoDB存储引擎,它擅长事务处理,具有崩溃恢复特性,在日常开发中使用非常广泛。下面是InnoDB架构图,左侧为内存结构,右侧为磁盘结构。原创 2023-06-27 18:30:00 · 3419 阅读 · 145 评论 -
MySQL-SQL全部锁详解(下)
的数据加排他锁,但是客户端二会处于阻塞状态,因为排他锁之间是互斥的。直到客户端一,把事务提交了,才会把这一行的行锁释放,此时客户端二,解除阻塞。间隙锁可以共存,一个事务采用的间隙锁不会阻止另一个事务在同一间隙上采用间隙锁。的数据是基于索引组织的,行锁是通过对索引上的索引项加锁来实现的,而不是对记录加的锁。):允许获取排他锁的事务更新数据,阻止其他事务获得相同数据集的共享锁和排他。的行锁是针对于索引加的锁,不通过索引条件检索数据,那么。这行的排他锁,会处于阻塞状态,以为共享锁与排他锁之间互。原创 2023-06-26 18:30:00 · 2593 阅读 · 23 评论 -
MySQL-SQL全部锁详解(上)
为了避免DML在执行时,加的行锁与表锁的冲突,在InnoDB中引入了意向锁,使得表锁不用检查每行数据是否加锁,使用意向锁来减少表锁的检查。假如没有意向锁,客户端一对表加了行锁后,客户端二如何给表加表锁呢,来通过示意图简单分析一下:首先客户端一,开启一个事务,然后执行DML操作,在执行DML语句时,会对涉及到的行加行锁。当客户端二,想对这张表加表锁时,会检查当前表是否有对应的行锁,如果没有,则添加表锁,此时就 会从第一行数据,检查到最后一行数据,效率较低。原创 2023-06-25 19:27:28 · 4803 阅读 · 109 评论 -
MySQL-SQL存储函数以及触发器详解
触发器是与表有关的数据库对象,指在之前(BEFORE)或之后(AFTER),触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录数据校验等操作。使用别名OLD和NEW来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在触发器还只支持行级触发,不支持语句级触发。原创 2023-06-24 18:30:00 · 3852 阅读 · 75 评论 -
MySQL-SQL存储过程/触发器详解(下)
MySQL-SQL存储过程/触发器详解(下)原创 2023-06-23 19:41:48 · 3603 阅读 · 112 评论 -
MySQL-SQL存储过程/触发器详解(上)
语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。用户定义变量 是用户根据需要自己定义的变量,用户变量不用提前声明,在用的时候直接用。可用作存储过程内的局部变量和输入参数,局部变量的范围是在其内声明的。服务器提供,不是用户定义的,属于服务器层面。局部变量 是根据需要定义的在局部生效的变量,访问之前,需要。本章讲解SQL语言中的存储过程,干货满满!再存储过程中,可以传递参数,也可以接收返回。在命令行中,执行创建存储过程的。原创 2023-06-18 06:30:00 · 2808 阅读 · 35 评论 -
MySQL-SQL视图详细
如果我们定义视图时,如果指定了条件,然后我们在插入、修改、删除数据时,是否可以做到必须满足条件才能操作,否则不能够操作呢?视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。查询每个学生所选修的课程(三张表联查),这个功能在很多的业务中都有使用到,为了简化操作,定义一个视图。上述的视图中,就只有一个单行单列的数据,如果我们对这个视图进行更新或插入的,将会报错。会通过视图检查正在更改的每个行,例如 插入,更新,删除,以使其符合视图的定义。原创 2023-06-17 06:30:00 · 5160 阅读 · 87 评论 -
MySQL—SQL优化详解(下)
因为创建索引时,如果未指定顺序,默认都是按照升序排序的,而查询时,一个升序,一个降序,此时就会出现。中我们创建的索引,默认索引的叶子节点是从小到大排序的,而此时我们查询排序。通过测试我们会看到,越往后,分页查询效率越低,这就是分页查询的问题所在。是第二个字段,所以排序时,也就该按照这个顺序来,否则就会出现。时,是从大到小,所以,在扫描时,就是反向扫描,就会出现。是一个聚合函数,对于返回的结果集,一行行地判断,如果。在之前的测试中,我们发现,如果数据量很大,在执行。原创 2023-06-16 06:30:00 · 524 阅读 · 44 评论 -
MySQL—SQL优化详解(上)
本章讲解MySQL中SQL语言的优化原创 2023-06-15 06:30:00 · 2296 阅读 · 38 评论 -
MySQL-索引详解(五)
本章讲解MySQL系列最后一章了,索引( index )是帮助 MySQL 高效获取数据的数据结构 ( 有序 ) 。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。原创 2023-06-14 06:30:00 · 1074 阅读 · 102 评论 -
MySQL-索引详解(四)
本次MySQL—索引章节比较多,分为多篇进行发布,本章继续原创 2023-06-13 06:47:13 · 1664 阅读 · 115 评论 -
MySQL-索引详解(三)
我们就能够知道当前数据库到底是增删改为主,还是查询为主。如果是以增删改为主,我们可以考虑不对其进行索引的优化。通过上述指令,我们可以查看到当前数据库到底是以查询为主,还是以增删改为主,从而为数据。我们可以在当前数据库再执行几次查询操作,然后再次查看执行频次,看看。最终我们发现,在慢查询日志中,只会记录执行时间超多我们预设时间(那这样,通过慢查询日志,就可以定位出执行效率比较低的。然后,再次查看开关情况,慢查询日志就已经打开了。开关已经打开了,接下来,我们所执行的。操作的,但是开关是关闭的。原创 2023-06-11 10:51:22 · 1978 阅读 · 112 评论 -
MySQL-索引详解(二)
回表查询: 这种先到二级索引中查找数据,找到主键值,然后再到聚集索引中根据主键值,获取。数据库,将索引的具体类型主要分为以下几类:主键索引、唯一索引、常规索引、全文索引。字段为姓名字段,该字段的值可能会重复,为该字段创建索引。手机号字段的值,是非空,且唯一的,为该字段创建唯一索引。二级索引的叶子节点下挂的是该字段值对应的主键值。聚集索引的叶子节点下挂的是这一行的数据。如果表没有主键,或没有合适的唯一索引,则。接下来,我们来分析一下,当我们执行如下的。如果存在主键,主键索引就是聚集索引。原创 2023-06-09 17:14:27 · 1088 阅读 · 44 评论 -
MySQL-索引详解(一)
索引(index)是帮助MySQL高效获取数据的数据结构有序。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。一提到数据结构,大家都会有所担心,担心自己不能理解,跟不上节奏。不过在这里大家完全不用担心,我们后面在讲解时,会详细介绍。原创 2023-06-05 07:00:00 · 941 阅读 · 51 评论 -
MySQL—存储引擎(下)
♥️♥️♥️♥️前言上一章讲了存储引擎,本章继续,从特点开始。原创 2023-06-03 07:00:00 · 1079 阅读 · 27 评论 -
MySQL—存储引擎(上)
而我们在选择引擎的时候,需要在合适的场景,选择合适的存储引擎,就像在直升机上,我们不能选择舰载机的引擎一样。在该层,服务器会解析查询并创建相应的内部解析树,并对其完成相应的优化如确定表的查询的顺序,是否利用索引等,最后生成相应的执行操作。存储引擎层,存储引擎真正的负责了MySQL中数据的存储和提取,服务器通过API和存储引擎进行通信。不同的存储引擎具有不同的功能,这样我们可以根据自己的需要,来选取合适的存储引擎。主要体现在存储引擎上,插件式的存储引擎架构,将查询处理和其他的系统任务以及数据的存储提取离。原创 2023-06-01 06:30:00 · 1954 阅读 · 144 评论 -
MySQL-事件详解
为了解决上述的问题,就需要通过数据的事务来完成,我们只需要在业务逻辑执行之前开启事务,执行完毕后提交事务。幻读:一个事务按照条件查询数据时,没有对应的数据行,但是在插入数据时,又发现这行数据已经存在,好像出现了。事务 是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系。这一组操作就必须在一个事务的范围内,要么都成功,要么都失败。):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的。原创 2023-05-30 08:29:51 · 1592 阅读 · 129 评论 -
MySQL-多表查询(下)
1).概念SQL语句中嵌套SELECT语句,称为嵌套查询,又称子查询。原创 2023-05-25 06:30:00 · 2158 阅读 · 30 评论 -
MySQL-多表查询(中)
前言我们之前在讲解 SQL 语句的时候,讲解了 DQL 语句,也就是数据查询语句,但是之前讲解的查询都是单表查询,而本章节我们要学习的则是多表查询操作讲到2.3本章继续。原创 2023-05-23 06:30:00 · 2511 阅读 · 40 评论 -
MySQL- 多表查询(上)
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库原创 2023-05-21 17:25:07 · 4343 阅读 · 117 评论 -
MySQL约束
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库原创 2023-05-17 07:25:04 · 1232 阅读 · 55 评论 -
MySQL函数详细
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库原创 2023-05-15 11:08:02 · 1023 阅读 · 95 评论 -
MySQL-图形化界面工具 (下)
在一个正常的业务系统中,查询操作的频次是要远高于增删改的,当我们去访问企业官网、电商网站,在这些网站中我们所看到的数据,实际都是需要从数据库中查询并展示的。而且在查询的过程中,可能。那么,本小节我们主要学习的就是如何进行数据的查询操作。修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数。会提示我们,询问是否确认删除,我们直接点击。,数据查询语言,用来查询数据库中表的记。♥️关注,就是我创作的动力。原创 2023-05-13 14:31:14 · 889 阅读 · 18 评论 -
MySQL-图形化界面工具 (上)
上述,我们已经讲解了通过DDL语句,如何操作数据库、操作表、操作表中的字段,而通过DDL语句执行在命令进行操作,主要存在以下两点问题:1).会影响开发效率;2).使用起来,并不直观,并不方便;所以呢,我们在日常的开发中,会借助于MySQL的图形化界面,来简化开发,提高开发效率。而目前mysql主流的图形化界面工具,有以下几种:而本章讲解中,选择最后一种DataGrip,这种图形化界面工具,功能更加强大,界面提示更加友好,是我们使用MySQL。原创 2023-05-11 17:36:08 · 3444 阅读 · 62 评论 -
MySQL数据库基础表格——增删改查(上)
MySQL表格基础——增删改查原创 2023-05-06 15:12:59 · 2449 阅读 · 112 评论