昨天想着备份数据库,但是没有成功,错误原因是#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. KING小组

    KING——学习小组 小组成员及github地址&博客地址: 张静 https://github.com/loiskris/test.git  http://www.cnblogs.com/l ...

  2. 【转】Linux下nginx配置https协议访问的方法

    一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/ ...

  3. 用Unity实现的依赖注入

    第一步:添加引用 上面那两个玩意 第二步:在app_start中添加unityconfig 上面那个玩意 第三步:在global.asax文件中进行初始化 如上面的,在application_star ...

  4. iOS 版本号Version和Build的区别

    一个version,一个build,都是设置版本的地方,有什么区别呢? 在ios中(Android等工程中也一样),有两种version,一种是 CFBundleVersion ("Bund ...

  5. solr学习之入门篇

    一,简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过Http ...

  6. C++之创建对象时的new与不new

    C++在创建对象的时候可以采用两种方式:(例如类名为Test) Test test  或者 Test* pTest = new Test(). 这两种方法都可以实例化一个对象,但是这两种方法有很大的区 ...

  7. XMLParser解析xml--内容源自网络(在静态库中不能用GDATA来解析,因为静态库不能加动态库)

    </Books> 从其文档结构我们可以看出,要定义一个Book实体类描述具体的书籍信息,其中用于存储的相关xml文档元素的实例变量与对应元素同名(本例:title.author.summa ...

  8. ng-init

  9. 如何避免后台IO高负载造成的长时间JVM GC停顿(转)

    译者著:其实本文的中心意思非常简单,没有耐心的读者建议直接拉到最后看结论部分,有兴趣的读者可以详细阅读一下. 原文发表于Linkedin Engineering,作者 Zhenyun Zhuang是L ...

  10. OGRE 2.1 Windows 编译

    版权所有,转载请注明链接 OGRE 2.1 Windows 编译 环境: Windows 7 64Bit Visual Studio 2012 OGRE 2.1 CMake 2.8.12.1 OGRE ...