
MySQL知识点汇总
总结了MySQL的一些常见的知识点
a_j58
这个作者很懒,什么都没留下…
展开
-
MySQL知识点总结(一)
在 Windows 上安装 MySQL 之后,mysysqld 服务器程序、mysql 客户机程序、my.ini 配置文件、 mysql 系统数据库、二进制日志文件分别保存在什么位置?默认数据目录是 /var/lib/mysql,保存有 mysql 数据库和其它数据库目录、InnoDB 日志 文件和系统表空间。mysqld_multi:是用 Perl 编写的脚本,用来简化单个主机上多台服务器管理的,它可以启动。在目录 /usr/sbin、/usr/bin、/etc、/var/log 分别保存哪些组件?原创 2025-01-16 20:44:23 · 138 阅读 · 0 评论 -
MySQL知识点总结(二)
使用mysqladmin客户机:mysqladmin--user=root--passwordpassword。加密过的用户名,口令和主机选项保存在当前主目录的.mylogin.cnf加密登录文件中。连接层:为每一个连接分配一个线程,进行身份验证,处理查询执行。授权分析:验证连接的用户是否被允许运行查询并具有足够的权限。SQL层:包括解析,授权分析,优化,执行,日志记录。解析器:验证查询的语法语义并将将其转换为标准形式。查询日志:记录服务器接受或执行的查询信息。查询执行:完成每个查询的执行计划。原创 2025-01-17 20:50:52 · 157 阅读 · 0 评论 -
MySQL知识点总结(三)
InnoDB是MySQL的默认存储引擎,它支持事务安全,MVCC,支持外键引用完整性约束,损坏后的快速自动恢复,支持内存缓冲数据和索引缓冲池。MyISAM是MySQL5.5之前的默认存储引擎,快速简单,支持空间数据类型和索引,支持表级锁,仅支持原始表级别的备份和恢复。InnoDB系统表空间:包含InnoDB数据字典,更改缓冲区,双写缓冲区。Mysqldump:创建逻辑备份的备份工具,可用来恢复数据库结构和内容。服务器日志文件:包括常规查询日志,慢速查询日志,二进制日志和审计日志。原创 2025-01-18 18:08:24 · 260 阅读 · 0 评论 -
MySQL知识点总结(四)
表的定义,存储过程定义,访问控制列表,视图定义等MySQL通过在元数据发生变化时对其JSON格式进行序列化来提供崩溃安全性。原创 2025-01-19 18:09:12 · 164 阅读 · 0 评论 -
MySQL知识点总结(五)
innodb_file_per_table指定了MySQL是在系统表空间还是在单独的 .ibd文件中存储新表数据和索引。innodb_data_file_path配置磁盘上InnoDB系统表空间的文件的大小和物理位置。redo记录了数据库的更改信息,用来优化非同步的数据库写入以及支持实例恢复。对,每个InnoDB通用表空间仅支持一个数据文件,不能添加第二个数据文件。会话内存是在用户会话线程启动时分配,在会话结束时释放,用于处理查询结果。全局内存是在服务器启动时分配,由服务器进程及所有线程共享。原创 2025-01-20 20:17:36 · 108 阅读 · 0 评论 -
MySQL知识点总结(六)
SET PERSIST variable_name = value 可以在服务器重启时维护修改的全局变量值。持久更改后的变量值在mysqld-auto.cnf文件以JSON格式存储,该文件在数据目录下。在服务器运行期间,所有配置的选项均称为系统变量,在运行时可以修改的变量称为动态变量。[client]:适用于所有客户端程序的选项,通常用于指定所有客户端通用的连接参数。MYSQL维护两个包含系统变量的作用域,分别是GLOBAL和SESSION。- GLOBAL变量影响服务器的整体运行。原创 2025-01-21 19:43:51 · 211 阅读 · 0 评论 -
MySQL知识点总结(七)
慢速查询日志只记录执行时间超过long_query_time指定阈值的语句,用于性能优化的目的。常规查询日志记录服务器从客户端收到的所有语句,包括连接信息和接受到的语句的详细信息。常规查询日志(General query log):服务器从客户端收到的所有语句。错误日志(Error log):与启动,关闭和异常情况有关的诊断信息。数据目录,连接层参数,日志和PID文件,InnoDB表空间和日志文件。慢速查询日志(Slow query log):需要很长时间执行的查询。原创 2025-01-22 20:37:22 · 108 阅读 · 0 评论 -
MySQL知识点总结(八)
sys模式是基于Performance schema的,它提供了一组视图,将Performance schema数据汇总为更易于理解的格式,以方便DBA进行MySQL的性能管理,同时也提供了存储过程和函数,协助DBA解释典型调优和诊断用例,并能生成诊断报告。Performance schema是MySQL用来跟踪性能度量的一组内存表,可用于性能的管理。State:指示线程正在执行的内容的操作,事件或状态。User:发出语句的MySQL用户。Host:发出语句的客户机的主机名。原创 2025-01-23 20:54:06 · 270 阅读 · 0 评论 -
MySQL知识点总结(九)
安全套接字层(SSL)和传输层安全性(TLS)都基于OpenSSL提供,TLS是SSL的升级版,TLS使用加密算法来确保通过公共网络接收的数据是可信的,它具有检测数据更改,丢失或重放的机制,TLS还包含使用X509标准提供身份验证的算法。应用最少权限原则就是仅为用户授予高效的完成任务所需的权限,除此之外的任何权限均不能授予,这可以降低用户修改或查看它们无权修改或查看的数据的几率,从而达到最大程度保护数据安全的目的。user表包含服务器已知的每个账户的记录,以及它的全局权限。用户账户,角色和全局级别权限。原创 2025-01-24 19:48:50 · 223 阅读 · 0 评论 -
MySQL知识点总结(十)
企业防火墙通过训练能将合规的SQL语句转换为语句摘并存储在白名单中,之后只有符合白名单摘要的SQL才能进入服务器执行。- server-cert.pem:服务器的数字证书,用于验证服务器的身份并包含公钥。- ca.pem:受信任的证书颁发机构(CA)发放的数字证书。- ca-key.pem:服务器生成自签名CA数字证书的私钥。- client-key.pem:与客户端共享的客户端私钥。服务器相关:包括存储,网络接口,电源,内存,CPU等。- server-key.pem:服务器的私钥。原创 2025-01-25 18:43:59 · 255 阅读 · 0 评论 -
MySQL知识点总结(十一)
横向扩展是向环境中添加更多的服务器以启用集群的并行处理能力,扩容效果明显,比如:分片。锁机制是服务器级别数据锁,在存储引擎中提供行级锁,使用互斥同步底层代码操作,、存储或主内存资源,提高单个节点的处理能力,效果有限。由于批量操作或网络流量激增,应用程序活动是否突然增长?转储的表、删除后并从转储文件重新创建它来恢复该表。文件的大小,但仅适用于单表文件包空间。系统资源是否被数据库外部的操作占用?选项重新启动服务器,或从备份中恢复表。问题是否以可预测的时间间隔发生?设置以及其他度量与基线进行比较。原创 2025-01-25 18:51:29 · 897 阅读 · 0 评论 -
MySQL知识点总结(十二)
如果在非索引列上创建直方图,那么九可以向优化器提供列内数据分布的近似值,从而有助于优化器就如何访问这些列包含的数据时能给出更高效的决定。使用索引可以直接而快速地访问表中的行,其作用是通过使用索引路径快速找到数据从而减少磁盘的I/O,提升访问性能。热备(Hot backups),在数据库正常读取和修改数据时进行,几乎不会中断对数据的操作。冷备(Cold backups),在服务器处于不可访问模式或完全关闭时进行,无法操作数据。支持的备份技术有逻辑备份,物理备份,基于快照的备份,基于复制的备份,以及增量备份。原创 2025-01-26 20:06:38 · 357 阅读 · 0 评论 -
MySQL知识点总结(十三)
基于复制的备份使用复制技术实现,主服务器(master,生态系统)的修改会同步到从属服务器(slave,副本数据库)上,在主服务器故障时,从属服务器有完整的数据库副本。物理备份是数据库文件按比特位的精确复制副本,可以高速地复制大数据集的数据库。这种备份不能用来进行数据库损坏时的恢复,因为使用快照恢复的数据库只包含了抓取快照时的数据库状态,从快照抓取时间点到故障点的数据库修改无法恢复。基于复制的备份消除了备份过程对生态系统的影响,但必须配置有另一台服务器和存储器来存放数据库的副本,增加了生产成本。原创 2025-01-27 19:40:02 · 374 阅读 · 0 评论 -
MySQL知识点总结(十四)
主服务器(master)将所有数据和结构更改记录到二进制日志中,从属服务器(slave)请求主机服务器(master)的二进制日志并在本地应用所有接受,实行主从服务器的数据同步。首先还原备份,然后使用mysqlbinlog将二进制日志应用到还原过的备份中,将数据库前滚到所需要的时间点。二者都能用来执行逻辑备份,将所有数据库,特定数据库或特定表转储到文本文件,可移植,独立于存储引擎,是很好的复制/移动策略,适合小型导出,但不是完整的备份解决方案。源系统和目标系统上的数据库目录名称必须相同。原创 2025-01-28 20:14:40 · 394 阅读 · 0 评论 -
MySQL知识点总结(十五)
由于GTID记录了每个修改性事务执行的日志id和发生本次更改所在的服务器UUID,因此在主服务器发生故障时,复制链中的每个从属服务器都能精准确定每一个事务的详细信息,从而在故障修复时能确保数据库的完整性和数据的一致性,特别是对于复杂复制拓扑系统更是如此。混合格式二进制日志:默认情况下使用基于语句的日志记录,但当语句不确定时会自动使用基于行的日志记录,如调用UUID(),USER(),FOUND_ROWS(),ROWS_COUNT()或任何用户定义的函数。原创 2025-01-30 18:37:16 · 500 阅读 · 0 评论 -
MySQL知识点总结(十六)
使用日志坐标执行故障转移时,如果新主服务器位于特定从属服务器的后面(即,如果该从属服务器已经应用了该新主服务器的日志末尾的事件),则该从属服务器会重复那些事件。如果新主服务器在特定从属服务器的前面(即,如果该新主服务器的二进制日志包含该从属服务器尚未应用的事件),该从属服务器将跳过那些事件。从属服务器状态日志存储关于如何连接到主服务器的信息以及主服务器的二进制日志和从属服务器的中继日志的最近复制的日志坐标信息。I/O线程从主服务器的Binlog转储线程读取事件并将其写入从属服务器的中继日志。原创 2025-01-31 19:49:16 · 413 阅读 · 0 评论 -
MySQL知识点总结(十七)
如果从属服务器运行正常,Slave_IO_Running和Slave_SQL_Running显示Yes。Last_IO_Error和Last_SQL_Error显示IO和SQL线程的最新错误信息。原创 2025-02-01 13:40:36 · 431 阅读 · 0 评论 -
MySQL知识点总结(十八)
组复制是MySQL的一个插件,它能够在一组服务器之间进行高可用的复制数据,并自动处理服务器故障转移,当成员因崩溃,故障或重新连接而加入或离开组时自动重新配置组,并解决冲突。集群中的服务器属于一个复制组(replication group),一个复制组最多9台最少3台服务器,必须使用全局事务标识符(GTID),组成员身份是自动管理的,服务器可以随时离开和加入该组,一台服务器的更改将复制到组的所有成员。MySQL组复制技术是InnoDB集群实现的基础,组复制安装在集群中的每个服务器实例上。原创 2025-02-02 16:25:55 · 391 阅读 · 0 评论 -
MySQL知识点总结(十九)
第三步:连接到集群并执行dba,rebootClusterFromCompleteOutage()Server: MySQL 服务器的二进制文件、配置和数据库。Libs-compat:早期 MySQL 安装的共享兼容性库。Libs:连接到 MySQL 的应用程序所使用的静态库。第二步:连接到一个实例并运行MySQL Shell。Client:连接到数据库服务器的客户机程序。Devel:编译 MySQL 程序时需要的库。Common:服务器和客户端库的通用文件。Source:MySQL 源代码。原创 2025-02-02 16:30:59 · 1094 阅读 · 0 评论