昨天想着备份数据库,但是没有成功,错误原因是#Got errno 28 on write

查到是因为磁盘空间不足或者mysql设置中max_allowed_packet变量设置过小

在mysql命令行中使用#set global max_allowed_packet = 2*1024*1024*10。将其设置为20M

并且重新启动mysql命令行,再次备份,发现还是同样的错误,怀疑是磁盘空间满,经查看,

[root@AY121231034820cd91077 bin]# df -h
Filesystem    Size   Used   Avail    Use%   Mounted on
/dev/xvda1    20G    20G   412M     98%    /
tmpfs       498M    0      498M       0%    /dev/shm
/dev/xvdb1   69G    17G   49G       26%    /home

发现第一块磁盘确实满了,但是不知道那些东西放到第一块磁盘,所以将www目录中的一堆不明所以的数据库进行了删除。

删除之后进行备份发现还是出现#Got errno 28 on write,不明所以。。。。。

此时登陆网站发现登陆不成功,错误原因为Table '***' is marked as crashed and should be repaired。

重启服务器,重新打开nginx、mysql、php、都不行,打开mysql的时候出现错误,提示已经把错误写进日志。

查找到mysql的错误日志位置为:/var/log/mysqld.log.打开查看后发现错误如下

150211 13:49:01 [ERROR] /usr/local/mysql/bin/mysqld: Table './erqilu_87/pw_log_userdefend' is marked as crashed and should be repaired
150211 13:51:21 [ERROR] /usr/local/mysql/bin/mysqld: Table './erqilu_87/pw_log_userdefend' is marked as crashed and should be repaired
150211 13:52:02 [ERROR] /usr/local/mysql/bin/mysqld: Table './erqilu_87/pw_log_userdefend' is marked as crashed and should be repaired

查到错误原因有很多:

1.可能是频繁更新查询dede_archives

2.数据库因为某种原因造成了损坏

经查修复方法如下
找到mysql的安装目录的bin/myisamchk(本站是:/usr/local/mysql/bin  )工具,这里是在命令行中输入:

myisamchk -c -r /目录名/表名.MYI

这里是:myisamchk -c -r /var/lib/mysql/erqilu_87/pw_log_userdefend.MYI

然后myisamchk 工具会帮助你恢复数据表的索引。不用重新启动mysql,问题就解决了。

二七路网站可以进行正常访问和登陆。

其中连带着还有其他几种修复方法,甚至MYI文件丢失后都可以修复,在此不在赘述。

出现问题修复方法总结

1.先查看日志

2.根据日志进行网上搜索问题解决的办法

3.尝试修复

2015年2月11日14:47:41

备份和恢复数据库的方法经过实践后会另外写出。

mysql启动错误与修复的更多相关文章

  1. MySQL启动错误排查

    一般情况下mysql的启动错误还是很容易排查的,但是今天我们就来说一下不一般的情况.拿到一台服务器,安装完mysql后进行启动,启动错误如下: 有同学会说,哥们儿你是不是buffer pool设置太大 ...

  2. mysql启动错误排查-无法申请足够内存

    一般情况下mysql的启动错误还是很容易排查的,但是今天我们就来说一下不一般的情况.拿到一台服务器,安装完mysql后进行启动,启动错误如下: 有同学会说,哥们儿你是不是buffer pool设置太大 ...

  3. mysql启动错误之mysql启动报1067错误如何解决

    MYSQL启动报1067错误,系统日志中是“服务 mysql 意外停止” Mysql日志中则是:Plugin 'FEDERATED' is disabled. 解决方法: 1.在MY.INI文件中的 ...

  4. mysql启动错误解决

    mysql 启动时,报错一般都不明显,因此我们需要配置错误日志 #vim /etc/my.cnf xxxxxxxxxx 1   1 #vim /etc/my.cnf 在[mysqld]下添加 log_ ...

  5. mysql启动错误:mysql.sock丢失

    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 我的是Cent ...

  6. mysql 启动错误1026

    进入“事件查看器”“应用程序”果然发现很多MySql的错误Default storage engine (InnoDB) is not available 于是进入MySql的安装目录找到my.ini ...

  7. MySQL启动错误---发生系统错误/系统找不到指定的文件。

    今天启动mysql时,突然报错发生系统错误,系统找不到指定的文件.当时有点懵,安装mysql 之后,一直就没有修改过,怎么会报错呢?上网搜索了一下,重新安装一下mysql服务就可以了,现在也不知道什么 ...

  8. mysql启动错误处理

    1.当启动MySQL时,报如下错误 [ERROR] Plugin 'InnoDB' init function returned error.[ERROR] Plugin 'InnoDB' regis ...

  9. mysql启动错误1067进程意外终止的解决方法

    一.环境介绍 1.mysql主从复制中的从服务器 2.Windows Server 2008 R2 Enterprise系统 64位操作系统 3.MySQL数据库版本为5.6.34 二.报错详情 从服 ...

随机推荐

  1. 深入剖析HADOOP程序日志

    深入剖析HADOOP程序日志 前提 本文来自于 博客园 逖靖寒的世界 http://gpcuster.cnblogs.com 了解log4j的使用. 正文 本文来自于 博客园 逖靖寒的世界 http: ...

  2. 移动设备和SharePoint 2013 - 第5部分:自定义应用

    博客地址:http://blog.csdn.net/foxdave 原文地址 在该系列文章中,作者展示了SharePoint 2013最显著的新功能概观--对移动设备的支持. 该系列文章: 移动设备和 ...

  3. 一篇介绍jquery中的ajax的结合

    <script type="text/javascript">        function Text_ajax()        {           $.aja ...

  4. Java异常机制

    Java异常分类 异常表明程序运行发生了意外,导致正常流程发生错误,例如数学上的除0,打开一个文件但此文件实际不存在,用户输入非法的参数等.在C语言中我们处理这类事件一般是将其与代码正常的流程放在一起 ...

  5. python3爬虫再探之豆瓣影评数据抓取

    一个关于豆瓣影评的爬虫,涉及:模拟登陆,翻页抓取.直接上代码: import re import time import requests import xlsxwriter from bs4 imp ...

  6. Reason we use Camel

    Camel is mainly for integration purpose, in our project we also use it inside the single component t ...

  7. 作业5-需求分析(EX:南通大学成绩录入系统)

    产品利益相关者: 用户:南通大学各任课老师. 顾客:南通大学(教务处) 工程师:系统的开发,测试,维护,推广人员等 竞争性需求分析: N(需求) A(做法) B(好处) C(竞争) D(推广) 基础性 ...

  8. Android库Volley的使用介绍

    Android Volley 是Google开发的一个网络lib,可以让你更加简单并且快速的访问网络数据.Volley库的网络请求都是异步的,你不必担心异步处理问题. Volley的优点: 请求队列和 ...

  9. 斜率dp cdq 分治

    f[i] = min { f[j] + sqr(a[i] - a[j]) } f[i]= min { -2 * a[i] * a[j] + a[j] * a[j] + f[j] } + a[i] * ...

  10. C#操作指针

    如何:递增和递减指针 使用增量和减量运算符 ++ 和 -- 可以将 pointer-type* 类型的指针的位置改变 sizeof (pointer-type). 增量和减量表达式的形式如下: ++p ...