昨天想着备份数据库,但是没有成功,错误原因是#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. 基于K2 BPM的大型连锁企业开关店选址管理解决方案

    业内有句名言:“门店最重要的是什么?第一是选址,第二是选址,第三还是选址” 选址是一个很复杂的综合性商业决策过程,需要定性考虑和定向分析.K2开关店&选址管理方案重点关注:如何开出更好的店?在 ...

  2. 详解x86、IA-32、IA-64等CPU系列

    x86架构起源于Intel公司在1978年推出的8086处理器.8086在1981年为IBM PC所选用,之后x86便成为了个人电脑的标准平台,成为历上最成功的CPU架构.8086是一款16位CPU, ...

  3. 理解NSTextContainer

    Apple的Doc对这个类的描述是这样的: The NSTextContainer class defines a region where text is laid out. An NSLayout ...

  4. CSS练习一(模仿163邮箱登陆)

    // '); code = code.replace(/&/g, '&'); return code; }; var runCode = function (code) { if (c ...

  5. Chapter 5: Container

    Chapter 5: Container A container is a module that processes the requests for a servlet and populates ...

  6. VS2013 JS 跟踪

    VS2013JS  跟踪 1.在页面对应的cs文件中设置断点,F10单步执行. 2.单步执行调试会自然而然执行到JS里面.

  7. BZOJ 4027 兔子与樱花

    原来想的是给所有点排序....但是要修改啊...然后发现对于儿子排序就可以了. #include<iostream> #include<cstdio> #include< ...

  8. vim的Tab设置为4个空格

    vim /etc/vimrc 1    set ts=42    set expandtab3    set autoindent 按tab键时产生的是4个空格,这种方式具有最好的兼容性.

  9. 【LEETCODE OJ】Binary Tree Postorder Traversal

    Problem Link: http://oj.leetcode.com/problems/binary-tree-postorder-traversal/ The post-order-traver ...

  10. JS手机定位地理位置

    /** * 以下为html5代码,获取地理位置 */ /** * 设置地址 */ function setAddress(json) { var position = document.getElem ...