删除所有的binlog后打不开

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【前言】测试环境中,磁盘空间爆满了。发现有一百多个的binlog文件,每个文件默认都是1GB,这些binlog占用了90%的空间。然后就用rm -rf命令删除了binlog,紧接着重启数据库的时候发现启动报错了;   150915 16:22:21 mysqld_safe mysqld from pid file /data/mysql/localhost.

【前言】测试环境中,磁盘空间爆满了。发现有一百多个的binlog文件,每个文件默认都是1GB,这些binlog占用了90%的空间。然后就用rm -rf命令删除了binlog,紧接着重启数据库的时候发现启动报错了;

 

150915 16:22:21 mysqld_safe mysqld from pid file /data/mysql/localhost.localdomain.pid ended
150915 16:25:09 mysqld_safe Starting mysqld daemon with databases from /data/mysql
150915 16:25:09 InnoDB: The InnoDB memory heap is disabled
150915 16:25:09 InnoDB: Mutexes and rw_locks use GCC atomic builtins
150915 16:25:09 InnoDB: Compressed tables use zlib 1.2.3
150915 16:25:09 InnoDB: Initializing buffer pool, size = 128.0M
150915 16:25:09 InnoDB: Completed initialization of buffer pool
150915 16:25:10 InnoDB: highest supported file format is Barracuda.
150915 16:25:10  InnoDB: Waiting for the background threads to start
150915 16:25:11 InnoDB: 1.1.8 started; log sequence number 1870953
/usr/local/mysql/bin/mysqld: File './mysql-bin.000121' not found (Errcode: 2)
150915 16:25:11 [ERROR] Failed to open log (file './mysql-bin.000121', errno 2)
150915 16:25:11 [ERROR] Could not open log file
150915 16:25:11 [ERROR] Can't init tc log
150915 16:25:11 [ERROR] Aborting

 

【解决方法】

1、MySQL在启动的时候会通过mysql-bin.index文件,查找当前的对应binlog文件信息,直接删除mysql-bin.index的内容后就可以了;

2、增加mysql参数:  expire_logs_days = 2 保留两天的binlog日志;

 

注:删除之前需要进行备份一下

150915 16:26:22 mysqld_safe mysqld from pid file /data/mysql/localhost.localdomain.pid ended
150915 16:26:49 mysqld_safe Starting mysqld daemon with databases from /data/mysql
150915 16:26:49 InnoDB: The InnoDB memory heap is disabled
150915 16:26:49 InnoDB: Mutexes and rw_locks use GCC atomic builtins
150915 16:26:49 InnoDB: Compressed tables use zlib 1.2.3
150915 16:26:49 InnoDB: Initializing buffer pool, size = 128.0M
150915 16:26:49 InnoDB: Completed initialization of buffer pool
150915 16:26:49 InnoDB: highest supported file format is Barracuda.
150915 16:26:49  InnoDB: Waiting for the background threads to start
150915 16:26:50 InnoDB: 1.1.8 started; log sequence number 1870953
150915 16:26:50 [Note] Event Scheduler: Loaded 0 events
150915 16:26:50 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version: '5.5.23-log'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution

 

【说明】rm -rf是一个很危险的操作,删除日志建议按mysql提供的命令去操作,鉴于这里是测试环境,所以就比较大意;

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

本文作者:JOHN,某上市公司DBA,业余时间专注于数据库的技术管理,从管理的角度去运用技术。

技术博客:猎人笔记                                                数据库技术群:367875324 (请备注数据库类型)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
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. 找到您要恢复到的时间点的二进制日志文件和位置。可以通过执行以下命令来查看当前的二进制日志文件和位
615 1
|
23天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL的撤销日志文件和错误日志文件
本文介绍了MySQL的物理存储结构,重点讲解了InnoDB存储引擎中的撤销日志文件(undo log)和错误日志文件。从MySQL 8.0开始,默认生成两个10MB的undo表空间文件,并支持动态扩容和收缩。错误日志文件记录了MySQL启动、运行、关闭过程中的问题,通过示例展示了如何查看和使用这些日志。
|
4月前
|
存储 关系型数据库 MySQL
MySQL备份与恢复
MySQL备份与恢复
60 0
|
SQL 关系型数据库 MySQL
Mysql使用binlog增量备份与恢复
Mysql使用binlog增量备份与恢复
351 0
|
7月前
|
SQL 关系型数据库 MySQL
MySQL技能完整学习列表11、日志和备份——1、查看日志——2、数据备份和恢复(mysqldump, mysqlbinlog)
MySQL技能完整学习列表11、日志和备份——1、查看日志——2、数据备份和恢复(mysqldump, mysqlbinlog)
97 0
举例:在从库上备份,到主库上恢复
在备库上备份,在主库上恢复 control file和recovery catalog的同步
|
SQL 关系型数据库 MySQL
Mysql误删,恢复数据,binlog闪回,宝塔面板
binlog是二进制日志文件,用来记录Mysql内部对数据库的改动(只记录对数据的修改操作),主要用于数据库的主从复制以及增量恢复。 当我们搭建mysql主从复制的时候,两个实例之间也是通过binlog来完成数据的备份同步。 所以有这种根据binlog得到执行sql语句、闪回sql语句,我们只需要利用根据分析binlog,然后就可以找到准确的数据改动sql,并得到闪回sql,检查无误后执行就可以恢复数据了
795 0
Mysql误删,恢复数据,binlog闪回,宝塔面板
|
SQL 关系型数据库 MySQL
MySQL:binlog的开启和数据恢复
MySQL:binlog的开启和数据恢复
470 0
|
存储 SQL 关系型数据库
MySQL备份恢复-3
MySQL备份恢复-3
107 0