-
sql优化的一般步骤
所属栏目:[MySql教程] 日期:2023-09-07 热度:7823
当碰到一个存在性能问题的 MysqL 数据库时,一般按照如下步骤进行分析解决:
定位问题 sql;
分析 sql 执行计划;
分析 sql Profile;
1. 定位问题sql
定位 MysqL 的问题 sql,主要有两种方法,查看当前线程[详细] -
MySQL Server 安装配置优化
所属栏目:[MySql教程] 日期:2023-09-07 热度:7823
我们继续从实战角度,从安装、日志、内存等方面学习 MysqL Server 的优化方法。
1. 安装配置优化
1.1 版本选择
一般推荐选择二进制发行版,原因有如下好处:
安装方式简单,可以快速完成部署;
经过MysqL官方[详细] -
主从同步数据异常,如何跳过错误?
所属栏目:[MySql教程] 日期:2023-09-07 热度:7823
由于种种原因,有时候从库可能会出现因主从数据导致的无法执行的 sql 语句,那么此时就要跳过该sql 语句了。
1.1 binlog+position 模式
-- 在从库上操作
) 跳过错误报错
MysqL> stop slave;
MysqL> set glo[详细] -
MySQL 的物理备份
所属栏目:[MySql教程] 日期:2023-09-07 热度:3252
物理备份的原理通常是基于物理文件的拷贝,和逻辑备份相比,它的最大优点是备份速度更快。本小节将主要介绍 MysqL 的物理备份方法。
1. 冷备
一般来说,冷备就是停止数据库服务,拷贝数据文件。这种方法对所有的[详细] -
MysqL 的异步复制概述
所属栏目:[MySql教程] 日期:2023-09-07 热度:3252
MysqL 复制属于水平扩展架构,是构建大规模高性能应用的基础。在 MysqL 中,有两种常用的搭建复制的方式:异步复制和增强半同步复制,本小节主要介绍 MysqL 的异步复制。
1. 复制概述
复制解决的问题,是让一台数[详细] -
MysqL 复制方式对比
所属栏目:[MySql教程] 日期:2023-09-07 热度:3252
除了异步复制和增强半同步复制之外,介于它们之间其实还有一种复制方式,叫半同步复制,只是从MysqL 5.7开始,逐渐被增强半同步所替代。那么这三种复制方式之间有什么异同呢?
异步复制 半同步复制 增强半同[详细] -
MySQL 复制参数
所属栏目:[MySql教程] 日期:2023-09-07 热度:3252
从库
server-id:唯一区别ID,同一个集群内不可重复,从5.6开始可以动态修改,推荐使用ip+端口号,1013306;
server-uuid:唯一区别ID,同一个集群内不可重复,从5.6开始可以动态修改;32位的GUID,文件路径/M[详细] -
选择合适的监控方式
所属栏目:[MySql教程] 日期:2023-09-07 热度:3252
一个好的监控系统,对于 IT 团队来说是举足轻重的,当服务器发生异常时,监控系统能很好地帮助运维人员及时发现和处理问题,从而降低业务的中断中间。本小节我们一起来学习如何选择合适的监控方式。
1. 常见的监控[详细] -
如何处理锁的竞争问题
所属栏目:[MySql教程] 日期:2023-09-06 热度:4781
使用锁来控制资源共享的应用系统,如何处理锁的竞争问题是个头疼事。MysqL 有两个级别的锁等待,服务器级别和存储引擎级别,本节重点介绍服务器级别的锁等待。
1. 表锁
表锁可以是显式的,也可以是隐式的。
1[详细] -
MySQL 隔离级别
所属栏目:[MySql教程] 日期:2023-09-06 热度:4781
事务是一组原子性的SQL查询,事务内的sql语句,要么全部执行成功,要么全部执行失败。本节重点介绍隔离级别。
隔离级别
在 sql 标准中,包含了四种隔离级别,即未提交读(read uncommitted)、提交读(read comm[详细] -
MySQL 数据库的死锁
所属栏目:[MySql教程] 日期:2023-09-06 热度:4781
死锁是指两个或多个事务在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。当多个事务尝试以不同的顺序锁定资源,或者多个事务同时锁定同一个资源,都有可能产生死锁。[详细]
-
MySQL事务日志
所属栏目:[MySql教程] 日期:2023-09-06 热度:4781
死锁和事务日志也是数据库事务绕不开的部分,本小节将重点介绍数据库的事务日志,让大家对事务日志能有基本的认识。
使用事务日志可以提高事务的安全性和效率:
修改表数据时,只需要在内存中进行修改,再持久[详细] -
MySQL 中的事务控制机制
所属栏目:[MySql教程] 日期:2023-09-06 热度:4781
事务控制是 MysqL 的重要特性之一。在 MysqL 中,InnoDB 和 NDB Cluster 是常见的事务型存储引擎。
1. 自动提交
默认情况下,MysqL 是自动提交(autocommit)的。也就意味着:如果不是显式地开始一个事务,每个查[详细] -
MySQL 的逻辑恢复
所属栏目:[MySql教程] 日期:2023-09-06 热度:4781
逻辑恢复通常支持两种恢复方式:完全恢复、不完全恢复,本小节结合 MysqLdump 和 MysqLbinlog 工具,介绍这两种恢复方式的操作步骤。
1. 完全恢复
MysqL 中,逻辑备份的完全恢复相对比较简单,一般包含两个步骤:[详细] -
如何根据业务选择合适的存储引擎?
所属栏目:[MySql教程] 日期:2023-09-06 热度:8406
多存储引擎是 MysqL 有别于其他数据库的最大特点,不同的存储引擎有不同的特点,可以应对不同的应用场景,这给了我们足够的灵活性去做出选择。但同时也带来了烦恼,这么多的存储引擎,我们该如何选择最合适的呢?本文[详细]
-
MysqL 索引详细解读
所属栏目:[MySql教程] 日期:2023-09-06 热度:8406
索引在 MysqL 中也叫“键(Key)”,是存储引擎用于快速查找记录的一种数据结构,这也是索引的基本功能。
MysqL 索引的工作原理,类似一本书的目录,如果要在一本书中找到特定的知识点,先通过目录找到[详细] -
MysqL 哈希索引、空间数据索引、全文索引
所属栏目:[MySql教程] 日期:2023-09-06 热度:8406
本小节重点介绍哈希索引、空间数据索引、全文索引。
1.哈希索引
哈希索引基于哈希表实现,仅支持精确匹配索引所有列的查询。对于每行数据,存储引擎都会对所有的索引列计算出一个哈希码。哈希索引将所有的哈希码[详细] -
如何高效高性能的选择使用 MySQL 索引?
所属栏目:[MySql教程] 日期:2023-09-06 热度:8406
想要实现高性能的查询,正确的使用索引是基础。本小节通过多个实际应用场景,帮助大家理解如何高效地选择和使用索引。
1. 独立的列
独立的列,是指索引列不能是表达式的一部分,也不能是函数的参数。如果 sql 查[详细] -
InnoDB 存储引擎详解
所属栏目:[MySql教程] 日期:2023-09-05 热度:1742
本小节重点介绍常用存储引擎的对比,以及 InnoDB 存储引擎。
InnoDB 是MysqL的默认事务性引擎,也是最重要、使用最广泛的存储引擎。InnoDB 具有提交、回滚、自动崩溃恢复的事务安全保障,拥有独立的缓存和日志,提[详细] -
MyISAM、Memory、TokuDB等引擎
所属栏目:[MySql教程] 日期:2023-09-05 热度:1742
本小节重点介绍 MyISAM、Memory、TokuDB 的特性。
1. MyISAM
在 MysqL 5.5 之前的版本,MyISAM 是默认的存储引擎。MyISAM 提供了全文索引、压缩、空间函数(GIS)等特性,但 MyISAM 不支持事务和行级锁,而且 My[详细] -
MySql 进阶教程
所属栏目:[MySql教程] 日期:2023-09-05 热度:6321
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management Syste[详细]
-
MysqL 的系统函数
所属栏目:[MySql教程] 日期:2023-09-05 热度:4644
MysqL 提供了很多的系统函数,这些系统函数可以对数据进行特殊的处理,下面表格列举了大部分的系统函数,本小节选择一些代表性的系统函数演示说明。
函数名 说明
CONCAT(str0,str1) 将两个字段的值拼接在一[详细] -
MySql简介及系统特性
所属栏目:[MySql教程] 日期:2023-09-05 热度:9278
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management Syste[详细]
-
MySQL 数据库的概念
所属栏目:[MySql教程] 日期:2023-09-05 热度:9278
数据库是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。是按照数据结构来组织、存储和管理数据的仓库。目前常用的数据库主要分为开源 MysqL 数据库(包括官方版 MysqL、Percona MysqL MariDB)[详细]
-
MySQL 选中数据库
所属栏目:[MySql教程] 日期:2023-09-05 热度:9278
这个小节我们就来学习下如何选择要进行操作的数据库:
1. use 命令选中数据库
还是以前面小节所创建的 item_name 数据库为例,执行如下命令即可选中名为 item_name 的数据库:
命令 : use item_name;
可以看[详细]
