那些年踩过的MySQL wait_timeout参数的坑

MySQL在数据库管理中扮演着重要的角色,wait_timeout参数的配置问题常常让数据库管理员感到困惑。
了解此参数的全局级别和会话级别之间的差异对于调整数据库性能至关重要。
wait_timeout参数的默认值为2 8 8 00秒,即8 小时。
它用于设置服务器在关闭非交互式连接之前等待活动的秒数。
根据实际需要,数据库管理员可能需要调整该参数值以适应不同的应用环境。
该参数分为全局级和会话级。
会话级参数不需要 session 关键字,而全局级参数必须显式指定。
虽然两者都可以独立调整,但范围和效果不同。
全局级参数适用于所有连接,而会话级参数特定于特定连接。
尝试更改wait_timeout参数后,发现全局级参数更改成功,但是会话级参数没有相应更改。
退出会话并重新登录后,我发现会话级参数保持不变,这就产生了一个问题:是否需要每次都手动更改会话级参数?答案是否定的。
经过进一步调查,我们了解到更改interactive_timeout参数也非常重要。
Interactive_timeout 参数与 wait_timeout 一起控制服务器在关闭交互式连接之前等待活动的秒数。
设置该参数可以帮助解决长时间执行大量MySQL语句带来的性能问题,例如:B.采集数据或新旧数据转换时。
通过同时调整interactive_timeout和wait_timeout参数,可以确保两者协同工作来优化数据库性能。
在实际操作中,DBA可以通过修改全局级别的interactive_timeout参数,自动将会话级别的参数wait_timeout调整为相同的值,从而实现参数的一致性和高效性。
综上所述,了解并正确配置MySQL wait_timeout和interactive_timeout参数对于优化数据库性能、提高系统稳定性至关重要。
通过适当调整参数值,DBA可以更有效地管理数据库连接,保证系统高效运行。

Mysql 初相识 | 全方位认识 information_schema(一)(转)

下面全面了解MySQL中的information_schema系统库,主要针对MySQL5 .7 版本进行规划。
什么是信息架构? information_schema是数据库元数据;用于统计和 MySQL 服务器信息的访问库。
它包含数据库名称;表名字段数据类型;包括访问权限和其他信息。
每个MySQL实例都有独立的information_schema;用于存储实例中所有数据库的基本信息。
它包含几个只读表。
这些表不是永久表;因此,磁盘数据目录下没有对应的文件;且不支持触发设置。
访问 information_schema 需要什么权限?所有用户都有权限访问information_schema下的表;但是,只有与用户有权访问的对象相对应的数据行才是可见的。
权限包括Server层的数据字典表和InnoDB层的数据字典表。
当权限不足时。
查询服务器层数据字典表不会返回任何数据或返回NULL值。
查询InnoDB数据字典表会直接拒绝访问(需要process权限,不需要select权限)。
information_schema有什么优点?什么?通过查询MySQL中information_schema下的表来访问数据有以下优点: 符合“科德定律”,完成基于表的访问。
使用 SELECT 语句了解所需的表名和列名的含义。
SQL语句查询;结果集格式对应用程序友好,可以过滤、可以过滤和连接。
实现与其他数据库系统的互操作性。
从information_schema查询相关数据需要什么权限?访问information_schema时;权限与 SHOW 语句类似。
查询时,必须有对象的权限才能查看相关数据。
information_schema 中的表结构。
information_schema主要分为以下几种表类型: 服务器层统计字典表:COLUMNS; KEY_COLUMN_USAGE; REFERENTIAL_CONSTRAINTS等服务器层表级对象字典表:eg VIEWS; TRIGGERS TABLES 等 服务器层混合数据字典表 SASTER_STAONT ; GLOBALUSSTA等InnoDB层系统字典表:INNODB_SYS_DATAFILES; InnoDB层锁如INNODB_SYS_INDEXES等事务统计字典表:INNODB_LOCKS; INNODB_TRX等InnoDB层文本索引字典表;例如:INNODB_FT_FT_INLED等 InnoDB层压缩字典表:例如INNODB_CMP; INNODB_CMPMEM等。
这些表是MySQL服务器; InnoDB存储引擎;和全文索引其他领域涵盖数据并有效访问数据库元数据和统计数据。