深入理解MySQL 8.0:日志管理、性能优化与安全管理全解析

36. 日志类型及用途

  • 错误日志:记录启动失败、崩溃等严重问题(默认开启)。

  • 慢查询日志:记录执行时间超过阈值的 SQL(用于优化)。

  • 二进制日志:记录数据变更(用于主从复制和恢复)。

  • 常规查询日志:记录所有 SQL 语句(慎用,影响性能)。


37. MySQL 8.0 默认开启的日志

  • 错误日志/var/log/mysql/error.log

  • 二进制日志/var/lib/mysql/binlog.000001


38. 常规查询日志 vs 慢查询日志

  • 常规查询日志:记录所有 SQL 语句(包括连接信息)。

  • 慢查询日志 :仅记录执行时间超过 long_query_time 的 SQL(默认 10 秒)。


39. 日志同时保存到文件和表

  • 配置

    复制代码
    [mysqld]  
    log_output=FILE,TABLE  
    slow_query_log=1  
    general_log=1  
  • 查看日志表

    sql 复制代码
    SELECT * FROM mysql.slow_log;  
    SELECT * FROM mysql.general_log;  

40. 刷新日志命令

  • 命令FLUSH LOGS;mysqladmin flush-logs

  • 影响

    • 创建新的二进制日志文件。

    • 重新打开常规查询日志和慢查询日志文件。


41. Performance Schema 的作用

  • 目的:实时监控服务器性能(如锁等待、内存使用)。

  • 常用表

    • events_waits_current:当前等待事件。

    • file_summary_by_event_name:文件 I/O 统计。


42. sys Schema 的作用

  • 功能:简化 Performance Schema 数据的查看。

  • 示例视图

    • sys.innodb_lock_waits:显示锁冲突信息。

    • sys.schema_table_statistics:表访问统计。


43. 审计功能配置

  • 正确audit_log_filter_linux_install.sql 脚本用于配置基于规则的审计。

  • 步骤

    1. 执行脚本:mysql -u root -p < audit_log_filter_linux_install.sql

    2. 启用审计插件:INSTALL PLUGIN audit_log SONAME 'audit_log.so';


44. MySQL Enterprise Monitor 功能

  • 持续监控:实时跟踪数据库性能。

  • 自动预警:根据阈值发送告警(如 CPU 使用率超过 90%)。

  • 可视化分析:生成查询执行时间图表。

  • 账户管理:审计用户权限变更。


45. SHOW PROCESSLIST 输出列

  • Id:连接 ID。

  • User:执行 SQL 的用户。

  • Host:客户端 IP。

  • db:当前使用的数据库。

  • Command :线程状态(如 QuerySleep)。

  • Time:线程处于当前状态的秒数。

  • State :操作详情(如 Sending data)。

  • Info:正在执行的 SQL 片段。


46. 用户账户存储位置

  • 位置mysql.user 表。

  • 查看所有用户

    sql 复制代码
    SELECT User, Host FROM mysql.user;  

47. 检查通配符用户

  • 方法

    sql 复制代码
    SELECT User, Host FROM mysql.user WHERE Host LIKE '%';  
  • 风险'user'@'%' 允许从任何 IP 连接,存在安全隐患。

相关推荐
vx_dmxq2111 小时前
【微信小程序学习交流平台】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·python·mysql·微信小程序·小程序·idea
m***92382 小时前
【SQL】MySQL中的字符串处理函数:concat 函数拼接字符串,COALESCE函数处理NULL字符串
数据库·sql·mysql
TracyCoder1232 小时前
MySQL 实战宝典(八):Java后端MySQL分库分表工具解析与选型秘籍
java·开发语言·mysql
q***816412 小时前
MySQL:数据查询-limit
数据库·mysql
p***924812 小时前
DBeaver连接本地MySQL、创建数据库表的基础操作
数据库·mysql
I***t71614 小时前
一条sql 在MySQL中是如何执行的
数据库·sql·mysql
vx_dmxq21115 小时前
【PHP考研互助系统】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·mysql·考研·微信小程序·小程序·php
vx_vxbs6617 小时前
【SSM电影网站】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·python·mysql·小程序·php·idea
大锦终17 小时前
【MySQL】内置函数
数据库·mysql
猿小喵17 小时前
索引优化-MySQL性能优化
数据库·mysql·性能优化