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

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

最新文章

  1. 基本变换(读书笔记5 --- Real-Time rendering)
  2. Ubuntu 杂音 alsa*
  3. JAVA浅析字节流与字符流
  4. centos同步北京时间
  5. velocity序列动画
  6. 在MVC中利用uploadify插件实现上传文件的功能
  7. webservice的调用方法
  8. 妙用 scale 与 transfrom-origin,精准控制动画方向
  9. ProtoType原型和__Proto__原型链的详解
  10. spring boot 基础 2018年5月3日
  11. cefSharp 开发随笔
  12. Solr全文检索
  13. BugBugBugBugBugBugBugBugBugBugBugBugBugBugBug
  14. 为什么用svg放弃了iconfont?
  15. Oracle 数据库中查看表空间的2种方法
  16. Python数据库工具类MySQLdb使用
  17. Java十进制数转二进制的方法
  18. Celery 框架学习笔记(生产者消费者模式)
  19. Nginx+Windows负载均衡(转载)
  20. 【BZOJ4894】天赋(矩阵树定理)

热门文章

  1. MyEclipse取消验证Js的两种方法
  2. 记录一些容易忘记的属性 -- NSTimer
  3. PAT 10-2 删除字符串中的子串
  4. EasyUI 验证框使用方法
  5. 2016 - 1- 22 NSURLConnetction --- POST请求
  6. 链表(C++语言实现)
  7. iOS开发:集成支付宝(遇见的坑和便捷撸代码)
  8. C#_控件——DropDownList
  9. EnterpriseLibrary4 自己封装程序集实现log打印
  10. 一、什么是WPF?