温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mariadb的日志

发布时间:2020-06-02 02:58:03 来源:网络 阅读:29941 作者:大飞侠大虾 栏目:MySQL数据库

mariadb日志分类:

      查询日志:query log
      慢查询日志:slow query log 查询操作时间超过指定时间
      错误日志:error log 也包含启动关闭服务信息
      二进制日志(重要):binary log
      中继日志:reley  log
      事务日志:transaction log

1.查询日志(一般不开启):记录查询操作

general_log=ON|OFF
general_log_file=HOSTNAME.log 保存在相当路径(不能解析主机名的话保存为localhost.log)
log_output=TABLE|FILE|NONE 以什么形式记录
#set @@global.general_log=1  #命令行开启方式,重启失效

2.慢查询日志(默认关闭,生产中应开启):查询操作时间超过指定时间

show global variables like  'long_query_time'; 查看默认时长
select @@GLOBAL.long_query_time;
set global long_query_time=
slow_query_log=ON|OFF
#log_slow_queries=xx.log  5.6版本后被废
slow_query_log_file=HOSTNAME-slow.log

3.错误日志(一般开启)

     ① mysqld启动和关闭过程中输出的事件信息

     ② mysqld运行中产生的错误信息

     ③ event scheduler事件调度器运行一个event时产生的日志信息

     ④ 在主从复制架构中从服务器上启动从服务器线程时产生的信息

log_error=/var/log/mariadb/mariadb.log|OFF
log_warnings=1|0 是否记录警告信息

4.二进制日志(重要)

功能:用于通过重放日志文件中的事件来生成数据副本

          记录导致数据改变或潜在导致数据改变的sql语句

show {BINARY|MASTER}  LOGS; 查看mariadb自行管理使用中的二进制日志文件列表
show {BINERY|MASTER}  status; 查看正在使用中的日志文件
show binlog events in 'mysql-bin.000001'  [from  num] [limit  rows]; 查看记录的事件

二进制日志记录格式:binlog_format

      基于sql语句记录(SBR):statement

      基于行记录(RBR):row

      混合模式(MBR):mixed,让系统自行判断该基于哪种模式(默认)

        #运行时修改SET SESSION binlog_format =

二进制日志文件构成

     日志文件:mysql-bin.文件名后缀  二进制格式

     索引文件:mysql-bin.index 文本格式

服务器变量

log_bin=/PATH/TO/BIN_LOG_FILE|OFF
#sql_log_bin= {ON|OFF}  是否记录				
#session.sql_log_bin={ON|OFF}   控制某会话中的“写”操作语句是否会被记录于日志文件中;(重放时应临时关闭)
max_binlog_size=100M  单个二进制日志文件的最大体积,默认为1G
sync_binlog=0或大于0的整数  
    #默认0异步记录性能更好,由操作系统自己决定什么时候刷新缓存到持久化设置,如果这个值比0大,它指定了两次刷新到磁盘的动作之间间隔多少次二进制日志写操作。设置1最安全但是最耗内存,
    很多MySQL DBA设置的sync_binlog并不是最安全的1,而是100或者是0。这样牺牲一定的一致性,可以获得更高的并发和性能。

mysqlbinlog:客户端命令工具(直接查看二进制日志)

--start-datetime="YYYY-MM-DD hh:mm:ss"  开始事件
--stop-datetime="YYYY-MM-DD hh:mm:ss"   结束时间	 
-j, --start-position=# 从哪个位置开始
--stop-position=#	  从哪个位置结束
--user, --host, --password

二进制日志事件格式

	# at 553
	#160831  9:56:08 server id 1  end_log_pos 624   Query   thread_id=2     exec_time=0     error_code=0
	SET TIMESTAMP=1472608568/*!*/;
	BEGIN
	/*!*/;


     事件的起始位置:# at 553

     事件发生的日期时间:#160831  9:56:08

     事件发生的服务器id:server id 1

     事件的结束位置:end_log_pos 624

     事件的类型:Query

     事件发生时所在服务器执行此事件的线程的ID: thread_id=2

     语句的时间戳与将其写入二进制日志文件中的时间差:exec_time=0

     错误代码:error_code=0

     设定事件发生时的时间戳:SET TIMESTAMP=1472608568/*!*/;

     事件内容:BEGIN

5.中继日志

从服务器上记录下来从主服务器的二进制日志文件同步过来的事件;

6.事务日志

事务型存储引擎innodb用于保证事务特性的日志文件:

     redo log

     undo log


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI