首页 > 编程知识 正文

oracle查看存储过程执行日志,mysql常用引擎

时间:2023-05-05 19:45:43 阅读:40853 作者:2180

错误日志(error log )记录有关mysql启动、关闭、执行中发生的错误和警告的信息,在mysql发生问题时可以通过排除错误日志来确定具体问题。

显示错误日志位置: showglobalvariableslike ' log _ error ';

更改错误日志位置:更改my.cnf的日志-错误路径

“常规日志”(general log )记录服务端接收到的每个命令并记录所有命令,启用时会影响性能,因此默认情况下禁用。 可以通过以下方法配置和使用

命令showglobalvariableslike ' % general % '; 显示通用日志相关参数general_log :通用日志general_log_file通用日志文件的位置set global general_log=on; 设置全局常规_ log=off; -设置全局general _ log _ file='/data/MySQL/log/general.log '--日志路径show variables like 'log_output '; file、table两种设置全局log _ output=' file '; -日志设置全局log _ output=' table '; -以表格式保存日志时,它保存在mysql库的general_log表中。 使用配置文件[mysqld]general_log=1时默认为0,使用1时general _ log _ file=/data/MySQL/log

命令show global variables like '%slow% '; log_slow_admin_statements :ddl滚动查询为log_slow_slave_statements :从库中查看滚动查询为slow _ latements me1slow_query_log :滚动查询是否打开slow_query_log_file :滚动查询日志位置showglobalvariableslike ' long _ que rike-- -低速查询时间set global slow_query_log=on; 设置全局slow _ query _ log=off; -设置全局slow _ query _ log _ file='/data/MySQL/log/slow.log '--设置日志路径show variables like 'log_output ' -日志设置全局log _ output=' table '; -以表格式保存日志将保存到mysql库的slow_log表中。 配置文件[mysqld]slow_query_log=1 0时无法打开。 1打开slow _ query _ log _ file=/data/MySQL/log/slow.log long _ query _ time=3中继日志(relay log )进行主从同步,然后单击

命令showglobalvariableslike“% relay %”; max_relay_log_size :显示日志的最大值。 0时为max_zgddhlog_size。 否则,日志将循环写入超过此大小。 relay_log :中继日志名称,空为数据文件目录下, 文件名为host _ name-relay-zgddhrelay _ log _ basename :中继日志文件的基本名称和完整路径relay_log_index :中继登录索引文件的名称relay lay_log_purge :中继日志是否自动为空,默认情况下是否打开relay_log_recovery :从库中关闭

,relay log损坏,导致一部分中继日志没处理,则放弃所有未执行的relay log,重新从主库获取,使用时需要开启relay_log_purge relay_log_space_limit :中继日志的最大空间量 sync_relay_log:刷盘策略,为0时不主动刷盘,依赖操作系统定期刷盘,为1时表示每次写入都刷盘 sync_relay_log_info:与sync_relay_log类似,刷盘时机取决于是否有事务可通过 set global修改对应参数set global sync_relay_log=1; -- 修改刷盘策略set global relay_log_purge=off; -- 关闭使用配置文件[mysqld]relay_log_purge= 1 0不开启,1开启sync_relay_log= 1 回滚日志(undo log)

        innodb 特有,在数据变动时,将对变动进行逆向记录,用来保证事务原子性以及实现mvcc。

show global variables like '%undo%'; innodb_max_undo_log_size :日志最大值,默认1G,开启innodb_undo_log_truncate后会进行自动回收 innodb_undo_directory:日志位置,默认数据目录(datadir)下 innodb_undo_log_truncate:是否开启自动回收。开启后需要innodb_undo_tablespaces大于2才可以回收。 innodb_undo_logs:回滚段数量默认为128,innodb_undo_logs>=35,32个给临时表空间使用,1个给系统表空间使用,2个给自动回收表空间使用,由于每个回滚段由1024个undo segment组成,该值为128则最大事务为 93*1024 innodb_undo_tablespaces:表示undolog对应的表空间文件的个数

重做日志(redo log)

        innodb 特有的引擎层物理日志,用来保证事务持久性,redo log 包括内存缓冲区(innodb_log_buffer_size)与磁盘日志文件(innodb_log_file_size ),在写磁盘日志文件时采用循环写入方式,当写到结尾时,会回到文件头覆盖写入。由于磁盘日志为顺序写入,可以提高性能。

show global variables like '%innodb_flush_log_at_trx_commit%'; -- 查看redo log 刷盘策略,为0时表示每次事务提交都把写入redo log buffer中为1时每次事务提交都写入 redo log file中进行刷盘,保证数据一致性为2时每次提交事务都写入redo log file中但是不进行刷盘,此时数据在磁盘缓存(page chche)中show global variables like '%innodb_flush_log_at_timeout%';日志刷盘时间,默认1秒show global variables like '%innodb_log%'; innodb_log_buffer_size:redo log内存区大小 innodb_log_checksums:是否启用重做日志的校验 innodb_log_compressed_pages:是否启用压缩 innodb_log_file_size:每个日志文件大小 innodb_log_files_in_group:日志文件数量,可在innodb_log_group_home_dir下查看,默认两个ib_logfile0,ib_logfile1 innodb_log_group_home_dir:日志文件路径 innodb_log_write_ahead_size:预写块大小,以字节为单位。避免read-on-write 二进制日志(zgddhlog)

        server层逻辑日志,记录sql语句的逻辑,在事务执行过程中,先写入到zgddhlog cache,事务提交时再把zgddhlog cache写入到zgddhlog文件中,之后删除zgddhglog cache中内容,当zgddhlog cache不够大时,会先写入磁盘临时文件。zgddhlog文件为追加写入,当文件写到一定大小写下一个文件。

        

SHOW GLOBAL VARIABLES LIKE "%zgddhlog%" zgddhlog_cache_size:每个线程zgddhlog cache 大小,必须是4096倍数 zgddhlog_checksum:验证算法,默认为crc32,为每一个zgddhlog event写一个校验码,设置为none时只校验长度,不生成校验码。 zgddhlog_direct_non_transactional_updates:对非事务表操作是否记入zgddhlog,个人理解用处不大,此参数只在zgddhlog_format为statement时生效。 zgddhlog_error_action:默认为ABORT_SERVER写入zgddhlog失败时主动关闭实例,重启时恢复,也可设置为IGNORE_ERROR写入zgddhlog失败时不写入,继续对外提供服务 zgddhlog_format:分为statement,row,mixed格式, statement记录sql不保证数据一致性。 row记录行记录,但比较费空间,保证数据 一致性。 mixed为混合模式,由mysql判断存储sql还是行记录。 zgddhlog_group_commit_sync_delay:组提交延迟时间。 zgddhlog_group_commit_sync_no_delay_count:组提交延迟数量,累计到延迟数量忽略组提交延迟时间设置。 zgddhlog_gtid_simple_recovery:是否开启gtid简单恢复。 zgddhlog_order_commits:zgddhlog记录顺序是否与事务顺序相同。 zgddhlog_row_image:控制zgddhlog记录详细程度,zgddhglog记录为row格式下生效 full :记录一行数据所有列信息。 minimal :只记录该行唯一表示和被修改的信息 noblob :记录一行数据所有列信息BLOB 和 TEXT类型除外 zgddhlog_rows_query_log_events:对于row格式的zgddhlog模式,是否记录zgddhlog对应的SQL zgddhlog_stmt_cache_size:线程私有,控制事务里有非事务语句缓存区大小。 zgddhlog_transaction_dependency_history_size:保存事务哈希值上限 max_zgddhlog_cache_size:与zgddhlog_cache_size类似,每个线程zgddhglog cache超过max_zgddhlog_cache_size设置会抛异常。 max_zgddhlog_size:zgddhlog日志文件大小,超过此值会打开新文件继续写入。 max_zgddhlog_stmt_cache_size:与zgddhlog_stmt_cache_size类似,超过会抛异常 sync_zgddhlog:zgddhlog:刷盘策略 sync_zgddhlog=0,禁止zgddhlog刷盘,依赖操作系统刷盘。 sync_zgddhlog=1,每次提交事务都进行刷盘。 sync_zgddhlog=N,写入N次进行刷盘。SHOW GLOBAL VARIABLES LIKE "%log_zgddh%" log_zgddh:是否开启zgddhglog log_zgddh_basename:zgddhlog文件路径名称 log_zgddh_index: zgddhglog:索引文件路径名称 log_zgddh_trust_function_creators:是否可以信任存储函数创建者,不会创建写入二进制日志引起不安全事件的存储函数。 log_zgddh_use_v1_row_events:是否启用版本2日志记录,mysql5.6.6以前使用版本1

 set global设置参数到内存中,重启失效,并且有些不能通过set global修改,需要修改my.cnf文件

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。