删除所有的binlog后打不开

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 【前言】测试环境中,磁盘空间爆满了。发现有一百多个的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 (请备注数据库类型)

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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
监控 关系型数据库 MySQL
|
9月前
|
SQL 关系型数据库 MySQL
Mysql使用binlog增量备份与恢复
Mysql使用binlog增量备份与恢复
196 0
|
6月前
|
关系型数据库 MySQL 数据库
阿里云Mysql数据库物理全备文件恢复到自建数据库Mysql报错:InnoDB: Log file ./...xtrabacku
阿里云Mysql数据库物理全备文件恢复到自建数据库Mysql报错:InnoDB: Log file ./...xtrabacku
|
10月前
为什么有的备份归档日志用list backup of archivelog all查不到,但在第三方备份软件中可以查到
提问:为什么有的备份归档日志用list backup of archivelog all查不到,但在第三方备份软件中可以查到?
|
SQL 关系型数据库 MySQL
Mysql误删,恢复数据,binlog闪回,宝塔面板
binlog是二进制日志文件,用来记录Mysql内部对数据库的改动(只记录对数据的修改操作),主要用于数据库的主从复制以及增量恢复。 当我们搭建mysql主从复制的时候,两个实例之间也是通过binlog来完成数据的备份同步。 所以有这种根据binlog得到执行sql语句、闪回sql语句,我们只需要利用根据分析binlog,然后就可以找到准确的数据改动sql,并得到闪回sql,检查无误后执行就可以恢复数据了
687 0
Mysql误删,恢复数据,binlog闪回,宝塔面板
|
关系型数据库 MySQL Linux
mysql数据库误删数据文件怎么处理?
MySQL数据库运行的时候误删了数据文件时的处理办法
729 0

热门文章

最新文章