1、参数文件 my.cnf 动态参数、静态参数 2、日志文件 binlog slow log error log log audit log 3、socket文件 4、pid文件 5、mysql表结构文件 6、存储引擎文件 tablespace redo log file 7、binlog 1)安装: 默认关闭 log_bin = /home/mysql/3306/binlog/mysql-bin.log 2)作用: 恢复、复制、审计 3)参数: 1、binlog_cache_size 2、binlog_format statement row mixed 3、binlog_row_image FULL、MINIMAL、NOBLOB 前镜像:数据库表中修改前的内容 后镜像:数据库表中修改后的内容 4、max_binlog_cache_size 5、max_binlog_size 6、sync_binlog 7、binlog-do-db 8、binlog-ignore-db 9、log-slave-update 让从库从主库复制数据时可以写入到binlog日志 4)相关操作 mysqlbinlog --no-defaults --base64-output=DECODE-ROWS -v mysql-bin.000005 | less mysqlbinlog --no-defaults --base64-output=DECODE-ROWS -v mysql-bin.000005 --start-position=2222 | less mysqlbinlog --no-defaults --base64-output=DECODE-ROWS -v mysql-bin.000005 --stop-position=2222 | less mysqlbinlog --no-defaults --base64-output=DECODE-ROWS -v mysql-bin.000005 --start-position=1207 --stop-position=2222 | less mysqlbinlog --no-defaults --base64-output=DECODE-ROWS -v mysql-bin.000005 --start-datetime='2022-01-19 22:31:47' | less mysqlbinlog --no-defaults --base64-output=DECODE-ROWS -v mysql-bin.000005 --stop-datetime='2022-01-19 22:31:47' | less mysqlbinlog --no-defaults --base64-output=DECODE-ROWS -v mysql-bin.000005 --start-datetime='2022-01-19 22:31:47' --stop-datetime='2022-01-19 22:32:47' | less 8、binlog_row_image full:表无论有没有主键约束或者唯一约束binlog都会记录所有前后镜像; minimal:如果表有主键或唯一索引,前镜像只保留主键列,后镜像只保留修改列;如果表没有主键或唯一索引,前镜像全保留,后镜像只保留修改列; noblob:如果表有主键或唯一索引,修改列为text/blob列,前镜像忽略text/blob列,后镜像包含被修改的text/blob列;如果表有主键或 唯一索引,修改列不是text/blob列,前后镜像忽略text/blob列。如果表没有主键或唯一索引,修改列为text/blob列 ,前后镜像 全保留;如果表没有主键或唯一索引,修改列不是text/blob列,前镜像全保留,后镜像忽略text/blob列。 9、audit log 1)安装 mysql> INSTALL PLUGIN audit_log SONAME 'audit_log.so'; 2)作用 审计 3)事件 Audit: 表示审计日志开始或结束。当NAME字段为'Audit'表示开始审计日志;'NoAudit'表示结束审计日志,此外还记录了服务器版本和命令行参数 Connect/Disconnect: 记录用户连接断开信息。当NAME字段为'Connect'表示用户连接成功或失败;'Quit'表示连接断开,此外还记录了CONNECTION_ID, STATUS, USER, PRIV_USER, OS_LOGIN, PROXY_USER, HOST, and IP。STATUS为0表示成功,非0表示失败。 Query: 记录DML、DDL信息,NAME值可能为Query, Prepare, Execute, Change user等。此外还记录COMMAND_CLASS(sql/mysqld.cc文件中的com_status_vars值), CONNECTION_ID, STATUS, SQLTEXT (sql语句信息), USER, HOST, OS_USER, IP。 4)相关参数 audit_log_format 日志格式:OLD, NEW, JSON, 和 CSV。 audit_log_buffer_size 审计缓存,建议设置为4096的倍数,该参数只有在audit_log_strategy为ASYNCHRONOUS时生效。 audit_log_flush 控制审计日志的归档,只有在audit_log_rotate_on_size=0的时候生效,在手工重命名审计日志归档后,可以指定audit_log_flush=1来生成新的审计日志。 audit_log_policy 指定审计日志记录的事件 ALL - 记录所有事件 LOGINS - 只记录登录连接信息 QUERIES - 只记录查询事件 NONE - 不记录任何事件 audit_log_strategy 指定审计日志的刷新策略,只有在 audit_log_handler 为 'FILE'时该变量才生效。 ASYNCHRONOUS - 异步(默认),使用内存缓冲区,缓冲区满时不删除消息 PERFORMANCE - 使用内存缓冲区,缓冲区满时删除消息 SEMISYNCHRONOUS - 直接写入到文件中,通过操作系统刷新同步事件 SYNCHRONOUS - 直接写入到文件中,实时同步刷新事件 audit_log_file 指定审计日志路径及文件名称,路径可为相对路径或绝对路径 audit_log_buffer_size 审计日志缓冲区大小,当audit_log_strategy生效且设置为ASYNCHRONOUS、PERFORMANCE时生效 audit_log_rotate_on_size 指定最大审核日志大小 audit_log_rotations 指定保存审核日志个数 audit_log_handler 指定审核日志保存格式:FILE、SYSLOG
innodb存储引擎文件
于 2022-01-17 22:24:41 首次发布