`

Got error 28 from storage engine的错误怎么办

 
阅读更多

晚上例行检查数据库,发现Got error 28 from storage engine这个错误,天那,我的数据。心里哇凉。。。。
备份的时间还是很久以前。最近更新了不少,麻烦大了。

好在找到了解决方法:

分区被日志文件占满导致MySQL死掉,清空mysql日志文件方法
2011-06-07 21:33

环境:mysql5.1.50
配置文件中 log-bin=mysql-bin选项开启

朋友的网站突然index.php提示数据库连接失败,然后打电话给我。

我一想可以是mysql死掉了,用命令重启一下,老提示错误。接着我df了一下,发现 /usr分区满了。心想肯定是日志文件的原因。进数据库文件目录du -sh了一下,好几个G,10多个mysql-bin.000015日志文件,我想删除掉,可是没那样做,为了数据安全还是从网上查找安全的解决办法吧。

解决如下:

1、清理了/usr/local下tar软件,移到其它地方了。

2、有了180多M剩余空间,可以启动mysql了

service mysqld restart

3、进入mysql执行:

mysql> show master logs; //查看日志

mysql> reset master; //删除列于索引文件中的所有二进制日志,把二进制日志索引文件重新设置为空,并创建一个新的二进制日志文件

4、注销掉/etc/my.cnf中的

# log-bin=mysql-bin 用于产生二进制日志文件的

如果没有从服务器的,把#server-id = 1 也注销掉

5、再重启 mysql服务就可以了

===扩展=========================================================================

说明:删除日志,还可以用PURGE MASTER LOGS
PURGE {MASTER | BINARY} LOGS TO ‘log_name’
PURGE {MASTER | BINARY} LOGS BEFORE ‘date’

用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除,这样被给定的日志成为第一个。

例如:
PURGE MASTER LOGS TO ‘mysql-bin.010′;
PURGE MASTER LOGS BEFORE ’2003-04-02 22:46:26′;

BEFORE变量的date自变量可以为’YYYY-MM-DD hh:mm:ss’格式。MASTER和BINARY是同义词。

如果您有一个活性的从属服务器,该服务器当前正在读取您正在试图删除的日志之一,则本语句不会起作用,而是会失败,并伴随一个错误。不过,如果从属服务器是休止的,并且您碰巧清理了其想要读取的日志之一,则从属服务器启动后不能复制。当从属服务器正在复制时,本语句可以安全运行。您不需要停止它们。

要清理日志,需按照以下步骤:

1. 在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。

2. 使用SHOW MASTER LOGS获得主服务器上的一系列日志。

3. 在所有的从属服务器中判定最早的日志。这个是目标日志。如果所有的从属服务器是更新的,这是清单上的最后一个日志。

4. 制作您将要删除的所有日志的备份。(这个步骤是自选的,但是建议采用。)

5. 清理所有的日志,但是不包括目标日志。
13.6.1.2. RESET MASTER语法
RESET MASTER

可以删除列于索引文件中的所有二进制日志,把二进制日志索引文件重新设置为空,并创建一个新的二进制日志文件。

from: http://www.xqs.cn/?p=1155

 

 

项目马上要上线了,今天用的mysql数据库突然扔出个异常:

2011-12-24_14:06:47.524 WARN  o.h.util.JDBCExceptionReporter - SQL Error: 1030, SQLState: HY000
2011-12-24_14:06:47.524 ERROR o.h.util.JDBCExceptionReporter - Got error 28 from storage engine

 

上网搜一下,有的说是mysql的tmp满了,等等,看了一下也没满!有的要改mysql的配置去..,翻了好几个地方,竟然是同一篇东西转来转去搞的,唉,失望!

   不过感觉思路应该是没错了,所以接着看了一下磁盘空间,发现竟然是根目录满了

 

 

[root@twap /]#
[root@twap /]# df -h
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda5             9.5G  5.2G  0    100% /
/dev/sda3              48G  3.3G   42G   8% /var
/dev/sda2              73G   44G   26G  64% /data0
/dev/sda1             965M   25M  891M   3% /boot
tmpfs                 1.8G     0  1.8G   0% /dev/shm
none                  1.8G  104K  1.8G   1% /var/lib/xenstored
[root@twap /]#

 

清理后:

[root@twap /]#
[root@twap /]# df -h
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda5             9.5G  5.2G  3.9G  57% /
/dev/sda3              48G  3.3G   42G   8% /var
/dev/sda2              73G   44G   26G  64% /data0
/dev/sda1             965M   25M  891M   3% /boot
tmpfs                 1.8G     0  1.8G   0% /dev/shm
none                  1.8G  104K  1.8G   1% /var/lib/xenstored
[root@twap /]#

 

ok,问题解决了!

from: http://blog.sina.com.cn/s/blog_7d31bbee0100yjw3.html

统计linux下某个文件夹的大小

du -sh ./

分享到:
评论

相关推荐

    MySQL错误代码以及出错信息对照大全

    MySQL 错误代码是 MySQL 数据库管理系统中的一种错误处理机制,当 MySQL 遇到某些问题或异常情况时,系统将抛出一个错误代码,该错误代码可以帮助开发者和数据库管理员快速地定位和解决问题。下面是 MySQL 错误代码...

    我的I've_got_a_stamp_from_China.ppt

    我的I've_got_a_stamp_from_China.ppt

    HyperledgerFabric问题及解决.txt

    Error: got unexpected status: BAD_REQUEST -- error authorizing update: error validating ReadSet: readset expected key [Group] /Channel/Application at version 0, but got version 1 等问题的解决

    Mysql主从同步Last_IO_Errno:1236错误解决方法

    Mysql主从同步的Last_IO_Errno:1236...Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Slave can not handle replication events with the checksum that master is configur

    32位的QT连接64位的mysql数据库的驱动文件 libmysql.dll libmysql.lib

    Qt5.2及以上版本如果使用的是mingw编译器,Qt只有32位的。连接64位的mysql,即使把mysql安装目录下的libmysql.dll放到qt安装目录bin路径下,也是无法连接数据库。网上给出的做法是下载Qt对应版本的源码,重新编译。...

    mysql提示got timeout reading communication packets的解决方法

    错误提示: user: ‘root’ host: `localhost’ (Got timeout reading communication packets) MYSQL server has gone away 引起这个原因是不可怕的.原因是更改了系统的断开时间. mysql>show gloable variables ...

    RK — 读写Vendor Storage区域工具

    针对Vendor Storage区域进行读写的方式可以使用RK在驱动中集成的接口,也可以用RK提供的工具。可以使用这个工具写入,在uboot、kernel、文件系统都能读出写入的值。Vendor Storage区域划分在flash中。产品烧写MAC...

    Mysql数据库全量和增量备份

    MySQL 数据库全量和增量备份 MySQL 数据库全量和增量备份是指对 MySQL 数据库进行的完整备份和增量备份,以确保数据的安全和可靠性。本篇文章将对 MySQL 全量和增量备份进行详细的介绍,包括 binlog 日志的说明、...

    Linux重建数据库及注意事项

    比如,如果收到“Got error 28 from storage engine”错误,这意味着磁盘空间不足。此时,可以通过`df -h`命令检查磁盘利用率。为释放空间,可以考虑删除日志文件或其他非关键数据。另一个常见问题是无法进入MySQL,...

    GOT1000密码读取

    GOT1000系列是富士通公司推出的一款工业级触摸屏显示器,广泛应用于自动化设备和生产线中。为了确保设备的安全性和防止未经授权的访问,GOT1000通常会设置密码保护功能。本文将详细介绍如何正确地读取和管理GOT1000...

    三菱GOT1000解密

    【三菱GOT1000解密】是一个关于如何解锁和使用三菱GOT1000系列触摸屏的教程主题。三菱GOT1000是三菱电机推出的一款高性能的人机界面(HMI),广泛应用于自动化设备和工业控制系统中。这款设备提供了丰富的功能,包括...

    Node.js-got-简化了的HTTP请求比内置的http模块有更好的接口

    3. **错误处理**:`got` 把错误处理集成到了 Promise 中,使得错误处理更加统一和简单。如果请求失败,`got` 返回的 Promise 将会被拒绝,并携带错误信息。 4. **自动解码**:`got` 可以自动处理响应的编码,包括...

    三菱GOT1000触摸屏modbus通讯编程应用实例

    5. **错误处理与调试**:在程序中加入错误处理机制,如超时重试、错误码检测等,确保通讯的稳定性和可靠性。同时,利用GOT1000的调试工具进行通讯测试,确认数据传输的正确性。 【HMI-GOT1000文件】:这个文件很...

    MITSUBISHI GOT2000 USB Controller.zip

    在该压缩包中,我们看到三个关键文件:GOT2000.cat、GOT2000.INF和got2000.PNF。 1. GOT2000.cat:这是一个签名文件,用于验证驱动程序的数字签名,确保驱动程序来自可信赖的源,并未被篡改。在安装驱动时,系统会...

    Node.js-gh-got-`got`的便利封装来与GitHubAPI进行交互

    7. **错误处理**:如果请求失败,`gh-got` 会抛出一个错误对象,包含有关失败的详细信息。 在实际应用中,`gh-got` 可用于自动化脚本、数据抓取、持续集成等多种场景。例如,你可以使用它来自动拉取某个仓库的最新...

    三菱A970GOT-TBA-B软件安装步骤

    "三菱A970GOT-TBA-B软件安装步骤" 三菱A970GOT-TBA-B是一款工业触摸屏设备,作为工业自动化领域的重要组件,它需要安装相应的软件和驱动程序以便正常运作。下面将详细介绍三菱A970GOT-TBA-B软件安装步骤。 首先,...

    三菱GOT2000人机界面设置用户报警和系统报警弹出报警显示的具体方法.docx

    其次,系统报警则是针对GOT2000自身、与其连接的设备或网络发生的错误,如CPU故障、GOT网络连接问题等。这些报警信息通常包含错误代码和描述,有助于快速定位问题。启用系统报警弹出显示的方法如下: 1. 启用“系统...

    三菱触摸屏GOT2000应用篇学习资料

    三菱触摸屏GOT2000系列作为工业自动化领域中广泛使用的人机界面(HMI),其应用篇学习资料不仅为使用者提供了基本操作的介绍,而且深入探讨了如何通过高级功能和技巧高效构建控制画面。随着工业4.0和智能制造的发展...

    三菱触摸屏GOT1055上载密码读取器

    三菱触摸屏GOT1055是一款广泛应用在工业自动化领域的HMI(Human Machine Interface)设备,主要用于人机交互,提供直观的操作界面。GOT1000系列是三菱电子推出的一系列高端触摸屏,其中GOT1055是该系列的高级型号,...

Global site tag (gtag.js) - Google Analytics