mysql日志文件

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介:
                                         mysql日志文件
日志类型
1、错误日志
2、二进制日志
3、查询日志
4、慢查询日志
如果启动相关的日志,需要到/etc/my.cnf文件添加
log-error=/mysql/myerr.log   记录数据库启动关闭信息,以及运行过程中产生的错误信息
 
log-bin=/mysql/bin   记录除select语句之外的所有sql语句到日志中,可以用来恢复数据文件
 
log=/mysql.log  记录所有sql语句
 
log-slow-queries=/mysql/slow.log  记录查询慢的sql语句
lang_query_time=3  记录查询操作3秒的sql语句
[mysqld]
log=/mysql/mysql.log
log-error=/mysql/myerr.log
log-bin=/mysql/bin
max_binlog_size=3M
log-slow-queries=/mysql/slow.log 
lang_query_time=3  #有的服务器输入起动不了
重新启动服务后,查看日志。
[root@zhaoyun mysql]# service mysqld restart
停止 MySQL: [确定]
启动 MySQL: [确定]
[root@zhaoyun mysql]# ls
bin.000001  bin.index  myerr.log  mysql.log  slow.log
bin.000001是binlog 记录除select外的所有sql语句
bin.index 是记录生成的binlog文件
myerr.log记录的是错误日志
slow.log记录查询慢的日志
mysql.log记录所有sql执行的日志。
 
二、刷新log-bin日志,没刷新一次将生成一个新的日志
1、重新启动服务生成
2、使用mysql  -e "flush logs"
3、使用mysqladmin flosh-logs
三、查看binlog
使用mysqlbinlog命令查看binlog
[root@zhaoyun mysql]# mysqlbinlog bin.000001 
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#111202  7:12:16 server id 1  end_log_pos 98    Start: binlog v 4, server v 5.0.77-log created 111202  7:12:16 at startup
# Warning: this binlog was not closed properly. Most probably mysqld crashed writing it.
ROLLBACK/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET  COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;这是一个没有执行过sql语句的binlog
执行一个删除语句,再看下这个文件的变化
[root@zhaoyun mysql]# mysql -uroot -p123456
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.0.77-log Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use ar
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> delete from http;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
[root@zhaoyun mysql]# mysqlbinlog bin.000001 
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#111202  7:12:16 server id 1  end_log_pos 98    Start: binlog v 4, server v 5.0.77-log created 111202  7:12:16 at startup
# Warning: this binlog was not closed properly. Most probably mysqld crashed writing it.
ROLLBACK/*!*/;
# at 98
#111202  7:16:04 server id 1  end_log_pos 175   Query   thread_id=5     exec_time=0     error_code=0
use ar/*!*/;
SET TIMESTAMP=1322781364/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=33/*!*/;
delete from http
/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET  COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
可以看到刚才执行的操作都被记录了。

可以使用binlog恢复自备份binlog以来的所有操作。
恢复方法有俩种
1、通过数据节点
mysqlbinlog bin.000001 --start-position=4 |mysql  -uroot -p123456  从节点4开始一直往下恢复,荡悠删除语句时需注意,不然恢复时,又给删除了。
mysqlbinlog bin.000001 --stop-position=500 |mysql -uroot -p123456   一直恢复到500节点
mysqlbinlog bin.000001 --start-positiion=50 --stop-position=100 |mysql  -uroot -p123456  恢复节点从50到100的记录
 
2、通过起始时间
mysqlbinlog --start-datetime="2011-12-02 20:30:11" |mysql -uroot -p123456
mysqlbinlog --stop-datetime="2011-12-02 20:50:30" |mysql -uroot -p123456
mysqlbinlog --start-datetime="2011-12-02 20:30:11" --stop-datetime="2011-12-02 20:50:30"  |mysql -uroot -p123456


本文转自zhaoyun00 51CTO博客,原文链接:http://blog.51cto.com/zhaoyun/732826
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
4月前
|
SQL 监控 关系型数据库
MySQL日志分析:binlog、redolog、undolog三大日志的深度探讨。
数据库管理其实和写小说一样,需要规划,需要修订,也需要有能力回滚。理解这些日志的作用与优化,就像把握写作工具的使用与运用,为我们的数据库保驾护航。
196 23
|
6月前
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
488 90
|
3月前
|
SQL 关系型数据库 MySQL
MySQL 5.6/5.7 DDL 失败残留文件清理指南
通过本文的指南,您可以更安全地处理 MySQL 5.6 和 5.7 版本中 DDL 失败后的残留文件,有效避免数据丢失和数据库不一致的问题。
|
5月前
|
SQL 运维 关系型数据库
MySQL Binlog 日志查看方法及查看内容解析
本文介绍了 MySQL 的 Binlog(二进制日志)功能及其使用方法。Binlog 记录了数据库的所有数据变更操作,如 INSERT、UPDATE 和 DELETE,对数据恢复、主从复制和审计至关重要。文章详细说明了如何开启 Binlog 功能、查看当前日志文件及内容,并解析了常见的事件类型,包括 Format_desc、Query、Table_map、Write_rows、Update_rows 和 Delete_rows 等,帮助用户掌握数据库变化历史,提升维护和排障能力。
|
6月前
|
存储 SQL 关系型数据库
mysql的undo log、redo log、bin log、buffer pool
MySQL的undo log、redo log、bin log和buffer pool是确保数据库高效、安全和可靠运行的关键组件。理解这些组件的工作原理和作用,对于优化数据库性能和保障数据安全具有重要意义。通过适当的配置和优化,可以显著提升MySQL的运行效率和数据可靠性。
126 16
|
7月前
|
存储 缓存 关系型数据库
图解MySQL【日志】——Redo Log
Redo Log(重做日志)是数据库中用于记录数据页修改的物理日志,确保事务的持久性和一致性。其主要作用包括崩溃恢复、提高性能和保证事务一致性。Redo Log 通过先写日志的方式,在内存中缓存修改操作,并在适当时候刷入磁盘,减少随机写入带来的性能损耗。WAL(Write-Ahead Logging)技术的核心思想是先将修改操作记录到日志文件中,再择机写入磁盘,从而实现高效且安全的数据持久化。Redo Log 的持久化过程涉及 Redo Log Buffer 和不同刷盘时机的控制参数(如 `innodb_flush_log_at_trx_commit`),以平衡性能与数据安全性。
259 5
图解MySQL【日志】——Redo Log
|
7月前
|
关系型数据库 MySQL 数据库
图解MySQL【日志】——两阶段提交
两阶段提交是为了解决Redo Log和Binlog日志在事务提交时可能出现的半成功状态,确保两者的一致性。它分为准备阶段和提交阶段,通过协调者和参与者协作完成。准备阶段中,协调者向所有参与者发送准备请求,参与者执行事务并回复是否同意提交;提交阶段中,若所有参与者同意,则协调者发送提交请求,否则发送回滚请求。MySQL通过这种方式保证了分布式事务的一致性,并引入组提交机制减少磁盘I/O次数,提升性能。
416 4
图解MySQL【日志】——两阶段提交
|
5月前
|
安全 关系型数据库 MySQL
MySQL8使用物理文件恢复MyISAM表测试
MySQL8使用物理文件恢复MyISAM表测试
84 0
|
6月前
|
存储 SQL 关系型数据库
mysql的undo log、redo log、bin log、buffer pool
MySQL的undo log、redo log、bin log和buffer pool是确保数据库高效、安全和可靠运行的关键组件。理解这些组件的工作原理和作用,对于优化数据库性能和保障数据安全具有重要意义。通过适当的配置和优化,可以显著提升MySQL的运行效率和数据可靠性。
101 4
|
7月前
|
关系型数据库 MySQL
图解MySQL【日志】——磁盘 I/O 次数过高时优化的办法
当 MySQL 磁盘 I/O 次数过高时,可通过调整参数优化。控制刷盘时机以降低频率:组提交参数 `binlog_group_commit_sync_delay` 和 `binlog_group_commit_sync_no_delay_count` 调整等待时间和事务数量;`sync_binlog=N` 设置 write 和 fsync 频率,`innodb_flush_log_at_trx_commit=2` 使提交时只写入 Redo Log 文件,由 OS 择机持久化,但两者在 OS 崩溃时有丢失数据风险。
171 3

推荐镜像

更多