4. MySQL_slow_loggeneric_logaudit存储引擎一

21 篇文章 ¥9.90 ¥99.00
本文深入探讨MySQL慢查询日志的参数配置、实践应用以及通用日志与审计插件的使用。介绍了如何开启和配置慢查询日志,分析了通用日志在审计中的角色,并讲解了MariaDB Audit Plugin的安装。此外,还概述了MySQL的存储引擎,特别是MyISAM的特点和应用场景。

一. 慢查询日志进阶

1. 相关参数

  • slow_query_log

    • 是否开启慢查询日志
  • slow_query_log_file

    • 慢查询日志文件名, 在my.cnf我们已经定义为slow.log,默认是 机器名-slow.log
  • long_query_time

    • 制定慢查询阈值, 单位是秒,且当版本 >=5.5.X,支持毫秒。例如0.5即为500ms
    • 大于该值,不包括值本身。例如该值为2,则执行时间正好等于2的SQL语句不会记录
  • log_queries_not_using_indexes

    • 将没有使用索引的SQL记录到慢查询日志
      • 如果一开始因为数据少,查表快,耗时的SQL语句没被记录,当数据量大时,该SQL可能会执
在执行 `SELECT * FROM monitor.mysql_server_ping_log LIMIT 10;` 遇到问题时,结合之前 `CREATE USER` 失败的错误 `ERROR 1396 (HY000)`,可以从以下几个方面进行排查: #### 用户权限问题 之前 `CREATE USER` 失败可能导致用户权限设置异常。需要确认当前执行查询的用户是否有访问 `monitor` 数据库以及 `mysql_server_ping_log` 表的权限。可以使用以下 SQL 语句查看用户权限: ```sql SHOW GRANTS FOR CURRENT_USER; ``` 若权限不足,可以使用管理员账户为该用户授予相应权限,例如: ```sql GRANT SELECT ON monitor.mysql_server_ping_log TO 'your_user'@'your_host'; FLUSH PRIVILEGES; ``` #### 数据库和表是否存在 确认 `monitor` 数据库和 `mysql_server_ping_log` 表是否存在。可以使用以下 SQL 语句进行检查: ```sql SHOW DATABASES LIKE 'monitor'; USE monitor; SHOW TABLES LIKE 'mysql_server_ping_log'; ``` 若数据库或表不存在,需要创建相应的数据库和表。 #### 用户信息残留问题 之前 `CREATE USER` 失败可能存在用户信息残留,导致后续操作异常。可以尝试删除可能残留的用户信息,然后重新创建用户: ```sql DROP USER IF EXISTS 'monitor'@'%'; CREATE USER 'monitor'@'%' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON monitor.* TO 'monitor'@'%'; FLUSH PRIVILEGES; ``` #### 查看数据库日志 查看 MySQL 的通用查询日志,可能会找到更多有用的信息。通用查询日志表结构如下: ```sql mysql> show create table mysql.general_log\G CREATE TABLE `general_log` ( `event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `user_host` mediumtext NOT NULL, `thread_id` bigint(21) unsigned NOT NULL, `server_id` int(10) unsigned NOT NULL, `command_type` varchar(64) NOT NULL, `argument` mediumtext NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='General log' ``` 可以查询通用日志来查看执行 `SELECT` 语句时的详细信息: ```sql SELECT * FROM mysql.general_log WHERE argument LIKE '%SELECT * FROM monitor.mysql_server_ping_log LIMIT 10%'; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

q375923078

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值