mysql日志文件

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:
                                         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
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
16天前
|
存储 安全 关系型数据库
Mysql 的binlog日志的优缺点
MySQL的binlog(二进制日志)是一个记录数据库更改的日志文件,它包含了所有对数据库执行的更改操作,如INSERT、UPDATE和DELETE等。binlog的主要目的是复制和恢复。以下是binlog日志的优缺点: ### 优点: 1. **数据恢复**:当数据库出现意外故障或数据丢失时,可以利用binlog进行点恢复(point-in-time recovery),将数据恢复到某一特定时间点。 2. **主从复制**:binlog是实现MySQL主从复制功能的核心组件。主服务器将binlog中的事件发送到从服务器,从服务器再重放这些事件,从而实现数据的同步。 3. **审计**:b
|
23天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
77 1
|
26天前
|
SQL 关系型数据库 MySQL
MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复
对于MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复。二进制日志是MySQL中记录所有数据库更改操作的日志文件。要进行时间点恢复,您需要执行以下步骤: 1. 确保MySQL配置文件中启用了二进制日志功能。在配置文件(通常是my.cnf或my.ini)中找到以下行,并确保没有被注释掉: Copy code log_bin = /path/to/binary/log/file 2. 在需要进行恢复的时间点之前创建一个数据库备份。这将作为恢复的基准。 3. 找到您要恢复到的时间点的二进制日志文件和位置。可以通过执行以下命令来查看当前的二进制日志文件和位
|
1月前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
29 0
|
1月前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
49 0
|
5天前
|
运维 Oracle 关系型数据库
Oracle日志文件:数据王国的“记事本”
【4月更文挑战第19天】Oracle日志文件是数据库稳定运行的关键,记录数据变更历史,用于恢复和故障处理。它们协调并发操作,确保数据一致性和完整性。日志文件实时写入操作信息并定期刷新到磁盘,便于数据恢复。然而,日志文件需备份和归档以保证安全性,防止数据丢失。日志文件,数据王国的“记事本”,默默守护数据安全。
|
30天前
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
15 1
|
1月前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 实时监控日志文件 swatch命令 使用指南
【Shell 命令集合 系统管理 】Linux 实时监控日志文件 swatch命令 使用指南
34 1
|
1月前
|
存储 SQL 关系型数据库
[MySQL]事务原理之redo log,undo log
[MySQL]事务原理之redo log,undo log
|
1月前
|
消息中间件 测试技术 Python
Python使用多线程解析超大日志文件
Python使用多线程解析超大日志文件
20 0