香港vps服务器的MySQL日志管理
云服务器
香港vps服务器的MySQL日志管理
2026-01-21 09:49
香港vps服务器的MySQL日志管理: 1.1错误日志 文件名:可用Clog-error[=file_name]指定,否则默认使用hostname.err 内容:记录mysqld启动和停止时,以及服务器发生任何严重错误时记录相关信息 1.2二进制日志 文件名:也是binlog(逻辑日志),可用Clog-bin[=file_name]指定,默认为主机名 内容:包含了所有更新了或者潜在更新了数据的所有语句,语句以“事件”的形式保存,描述数据更改文件位置和格式 查看日志: mysqlbinloglog-file 删除日志: #删除所有的binlog日志,新日志从头开始编号 RESETMASTER #删除mysql-bin.010之前的所有日志 PURGEMASTERLOGSTO'mysql-bin.010' #删除2022.5.1之前的binlog日志 purgemasterlogsbefore'2022-05-0108:00:00'; 1.3查询日志 文件名:使用Clog指定,默认hostname.log 内容:记录客户端所有查询语句记录,在二进制日志不存在查询语句记录 1.4慢查询日志 文件名:使用Clog-slow-querie指定,默认*-slow.log,写入data目录 内容:记录执行时间超过long_query_time秒的SQL查询日志文件 其它选项:Clog_slow_admin_statements:表示将慢管理语句,如OPTIMIZETABLE、ANALYZETABLE和ALTERTABLE写入慢查询语句 1.5通用查询日志 查看:showvariableslike'%general_log%'; 执行SQL命令setglobalgeneral_log=on;开启 文件:默认存放在data目录下hostname.log文件 内容:记录客户端的所有查询行为 1.6中继日志 文件:默认文件名hostnamet-relay-bin,存放在data目录下 功能:从服务器I/O线程将主服务器的二进制日志读取过来记录到从服务器本地文件,然后从服务器SQL线程会读取relay-log日志的内容并应用到从服务器,从而使从服务器和主服务器的数据保持一致 参数:showvariableslike'%relay%'; max_relay_log_size relaylog允许的最大值,如果该值为0,则默认值为max_binlog_size(1G) 如果不为0,则max_relay_log_size则为最大的relay_log文件大小 relay_log 定义relay_log的位置和名称,如果值为空,则默认位置在数据文件的目录 relay_log_index 定义relay_log索引的位置和名称,记录有几个relay_log文件,默认为2个 relay_log_info_file 定义relay-log.info的位置和名称,relay-log.info记录master主库的binary_log的恢复位置和从库relay_log的位置 relay_log_purge 是否自动清空中继日志,默认值为1(启用) relay_log_recovery 当slave从库宕机后,假如relay-log损坏了,导致一部分中继日志没有处理,则自动放弃所有未执行的relay-log,并且重新从master上获取日志,这样就保证了relay-log的完整性。默认情况下该功能是关闭的,将relay_log_recovery的值设置为1时,可在slave从库上开启该功能,建议开启 sync_relay_log 当设置为1时,slave的I/O线程每次接收到master发送过来的binlog日志都要写入系统缓冲区,然后刷入relaylog中继日志里,这样是最安全的,因为在崩溃的时候,你最多会丢失一个事务,但会造成磁盘的大量I/O 当设置为0时,并不是马上就刷入中继日志里,而是由操作系统决定何时来写入,虽然安全性降低了,但减少了大量的磁盘I/O操作。这个值默认是0,可动态修改 sync_relay_log_info 这个参数和sync_relay_log参数一样 1.7审计日志 内容:企业版自带功能,社区版需使用audit审计插件完成数据库审计工作 开启步骤: 下载插件:https://github.com/mcafee/mysql-audit 查看插件功能是否开启:showvariableslike"%audit%"; 开启插件功能:setglobalaudit_json_file=1; 注意,使用此方法开启对global全局变量的设置仅对于新开启的会话才是有效的,对已经开启的会话不生效,参数最终需持久化到my.cnf配置文件中 开启后,在MySQL数据目录下会多出一个mysql-audit.json审计日志 2InnoDB日志 2.1重做日志(RedoLog) 文件:默认情况下,对应的物理文件位于数据库的data目录下的ib_logfile1&ib_logfile2 内容:物理日志,记录物理数据页面的修改信息,redolog顺序写入redologfile物理文件中 重做日志有一个缓冲区Innodb_log_buffer,InnoDB优先将重做日志写入缓冲区,日志写盘通常有三种方式: MasterThread每秒一次执行刷新Innodb_log_buffer到重做日志文件 每个事务提交时会将重做日志刷新到重做日志文件。 当重做日志缓存可用空间少于一半时,重做日志缓存被刷新到重做日志文件 因此,重做日志的写盘,并不一定是随着事务的提交才写入重做日志文件的,而是随着事务的开始逐步开始的,这可以很好地解释再大的事务的提交(commit)的时间也是很短暂的 事务产生的重做日志,通过innodb_flush_log_at_trx_commit参数控制: 设置为0的时候,表示不写入buffer,直接每秒写入到redofile中,但mysql崩溃会丢失1s数据 设置为1的时候,表示每次事务提交时都将redolog直接持久化到磁盘 设置为2的时候,表示每次事务提交时都只是把redolog写到pagecache,由OS处理回写磁盘操作,OS宕机会丢失数据 2.2回滚日志(UndoLog) 文件:逻辑日志,记录在表空间中 MySQL5.6之前,undo表空间位于共享表空间的回滚段中,共享表空间的默认的名称是ibdata,位于数据文件目录中 MySQL5.6之后,undo表空间可以配置成独立的文件,但是提前需要在配置文件中配置,完成数据库初始化后生效且不可改变undolog文件的个数 内容:记录数据的逻辑变化,一条INSERT会对应一条DELETE的undolog,发生错误时能够恢复到事务之前的数据状态 undolog是MVCC(多版本并发控制)实现的关键 一诺网络香港免备案专区,提供「香港增强VPS」和「香港特惠VPS」两种类型的高可用弹性计算服务,搭载新一代英特尔®至强®铂金处理器,接入CN2低延时高速回国带宽线路,网络访问顺滑、流畅。机房网络架构采用了BGP协议的解决方案可提供多线路互联融合网络,使得不同网络运营商线路的用户都能通过最佳路由实现快速访问。香港云VPS低至29元/月,购买链接:https://www.enuoidc.com/vps.html?typeid=2