13.6 复合语句语法
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-compound-statements.html本节介绍BEGIN...END复合语句的语法以及可用于存储程序主体的其他语句:存储过程和函数,触发器和事件。这些对象是根据存储在服务器上
13.4 复制语句
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-replication.html可以使用本节中描述的语句通过SQL接口来控制复制。语句分为控制主服务器的组,控制从属服务器的组以及可应用于任何复制服务器的组。13.4.1控制主服务的S
13.7 数据库管理语句(1)
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/alter-user.html13.7.1账户管理语句MySQL帐户信息存储在mysql数据库的表中。当启用read_only系统变量时,除了任何其他所需特权之外,帐户管理语句还需要SUPER特权。这是因为
13.7 数据库管理语句(1)
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/alter-user.html13.7.1账户管理语句MySQL帐户信息存储在mysql数据库的表中。当启用read_only系统变量时,除了任何其他所需特权之外,帐户管理语句还需要SUPER特权。这是因为
13.7 数据库管理语句(2)
13.7.1.5RENAMEUSER语法RENAMEUSERold_userTOnew_user[,old_userTOnew_user]...RENAMEUSER语句重命名现有的MySQL帐户。旧帐户不存在或新帐户已存在时发生错误。要使用RENAMEUSER,您必须具有全局CREATEUSER权限
13.7 数据库管理语句(3)
13.7.5.23SHOWMASTERSTATUS语法SHOWMASTERSTATUS该语句提供有关主站的二进制日志文件的状态信息。它需要SUPER或REPLICATIONCLIENT权限。当全局事务ID正在使用时,Executed_Gtid_Set显示已在主服务器上执行的事务的GTID集合。这与此
13.8 工具语句
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/describe.html13.8.1DESCRIBE语法DESCRIBE和EXPLAIN语句是同义词,用于获取有关表结构或查询执行计划的信息13.8.2EXPLAIN语法{EXPLAIN|DESCRIBE
14.1 InnoDB 介绍
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-introduction.htmlInnoDB是一款通用存储引擎,可平衡高可靠性和高性能。在MySQL5.7中,InnoDB是默认的MySQL存储引擎。除非您配置了不同的默认存储引擎,否则发出
14.2 InnoDB 和 ACID 模型
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/mysql-acid.htmlACID模型是一组数据库设计原则,强调对业务数据和任务关键型应用程序非常重要的可靠性方面。MySQL包括诸如InnoDB存储引擎等组件,这些组件与ACID模型密切相关,因此数据
14.3 InnoDB 多版本
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-multi-versioning.htmlInnoDB是一个多版本的存储引擎:它保存有关旧版本更改行的信息,以支持事务功能,如并发和回滚。这些信息存储在表空间中的数据结构中,称为回滚段(在Or
14.4 InnoDB 架构
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-concepts.html14.4.1BufferPool缓冲池是主内存中的区域,InnoDB在访问数据时缓存表和索引数据。缓冲池允许经常使用的数据直接从内存中处理,从而加快处理速度。在专用数
14.5 InnoDB 锁和事务模型
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-locking-transaction-model.html14.5.1InnoDB锁共享和排他锁InnoDB在存在两种类型的锁,共享(S)锁和独占(X)锁的情况下实现标准行级锁定。共享(S)
14.6 InnoDB 配置
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-configuration.html14.6.1InnoDB启动配置有关InnoDB配置的第一个决定涉及数据文件,日志文件,页面大小和内存缓冲区的配置。建议您在创建InnoDB实例之前定义数据
14.6.3 InnoDB Buffer Pool 配置
https://dev.mysql.com/doc/refman/5.7/en/innodb-buffer-pool.html14.6.3.1InnoDBBufferPoolInnoDB维护一个称为缓冲池的存储区域,用于在内存中缓存数据和索引。了解InnoDB缓冲池如何工作,并利用它来将频繁访问的数
14.6.4 为InnoDB 配置内存分配
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-performance-use_sys_malloc.html当InnoDB被研发时,操作系统和运行时库提供的内存分配器往往缺乏性能和可扩展性。那时,没有为多核CPU调优的内存分配库。因此,I
14.6.5 配置 InnoDB 变更 buffering
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-performance-change_buffering.html当在表上执行INSERT,UPDATE和DELETE操作时,索引列的值(特别是辅助键的值)通常是未排序的顺序,需要大量的I/O
14.6.6 配置InnoDB 的线程
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-performance-thread_concurrency.htmlInnoDB使用操作系统线程来处理来自用户事务的请求。(事务在提交或回滚之前可能会向InnoDB发出很多请求。)在具有多核
14.6.12 为InnoDB 配置优化器统计信息
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-performance-optimizer-statistics.html本节介绍如何为InnoDB表配置持久性和非持久性优化器统计信息。持久性优化器统计信息在服务器重新启动时保持不变,从而实
14.6.13 为索引页面配置合并阈值
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/index-page-merge-threshold.html您可以为索引页面配置MERGE_THRESHOLD值。如果索引页面的“页面已满”百分比低于MERGE_THRESHOLD值(当行被删除或行被UP
14.7 InnoDB 表空间
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-tablespace.html14.7.1调整InnoDB系统表空间的大小本节介绍如何增加或减少InnoDB系统表空间的大小。增加InnoDB系统表空间的大小增加InnoDB系统表空间大小的最