Mysql日志管理

## 一、事务日志:transaction log 作用:记录事务信息,实现未完成事务撤销(undo),已完成事务重做(redo) 事务日志文件: ib_logfile0, ib_logfile(轮流交替存放) ### 1、ACID特性 A:原子性:整个事务中的所有操作要么全部成功执行,要么全部失败后回滚 C:一致性:与实际完成操作一致 I:隔离性:一个事务在未提交前,可隔离其它事务所见 D:持久性:一旦提交事务,永久保存修改 ### 2、隔离级别 读未提交:可读到未提交的数据产生脏读 不可重复读:能读到别人提交的数据,未提交的不可读 可重复读:多次读数据都是一致的,可能产生幻读 串行化:未完成的读事务,阻塞修改事务。未完成的修改事务,阻塞读写事务。导致并发性差 ### 3、启用事务,结束事务 begin commit:提交 rollback:回滚 ### 4、innodb事务日志相关配置 show variables like ‘%innodb_log%‘; ![image.png](https://s2.51cto.com/images/20210709/1625784095361512.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ## (2)错误日志:log-error /var/log/mariadb/mariadb.log ## (3)通用日志:general_log,默认关闭 show variables like ‘general%‘; show variables like ‘log_output‘; ### 启用日志:vim /etc/my.cnf log_output=table general_log systemctl restart mariadb 日志文件:tail /var/lib/mysql/centos7.log 库文件表:mysql库 ## (4)慢查询日志:slow,默认关闭 show variables like ‘long%‘; show variables like ‘slow_query_log%‘; ### 启用日志:vim /etc/my.cnf slow_query_log long_query_time=3 systemctl restart mariadb 日志文件:tail -f /var/lib/mysql/centos7-slow.log ### 监控sql语句中哪条语句比较慢? set profiling=on; show profiles; show profile for query 2; mysql客户端命令历史 . /mysql_history ## (5)二进制日志,默认关闭 show variables like ‘sql_log_bin‘; show variables like ‘log_bin‘; ### 启用日志:vim /etc/my.cnf binlog_format=row log-bin=/data/logbin/mysql-bin mkdir /data/logbin chown mysql.mysql /data/logbin/ show master logs; show master status; 查看文件 show binlog events in ‘mariadb-bin.000002‘ from 245 limit 2,3; mysqlbinlog

Mysql日志管理

上一篇:c# 使用MySql的MySqlBulkCopy 出现异常 Loading local data is disabled; this must be enabled on both the client and server sides


下一篇:MySQL,XAMPP