• mysql修复坏表的步履办法




    作者: bychina  出自: http://www.linuxdiyf.com
    有的时分因为失落电大概其他缘由招致数据库损坏,我们可以操纵mysql自带的mysqlcheck命令来快速修复通通的数据库大概特定的数据库;譬喻

    反省优化并修复通通的数据库用:

    # mysqlcheck -A -o -r -p
    Enter password:
    database1 OK
    database2 OK
    ----------
    修复指定的数据库用
    # mysqlcheck -A -o -r Database_NAME -p
    即可
    其它如果只是对某个表中缀修复可以用:myisamchk或isamchk
    此中myisamchk实用于MYISAM典范榜样的数据表,而isamchk实用于ISAM典范榜样的数据表。这两条命令的首要参数相反,通俗新的细碎都操纵MYISAM作为缺省的数据表典范榜样,这里以myisamchk为例子中缀阐明。当发现某个数据表泛起效果时可以操纵:
    myisamchk tablename.MYI
    中缀检测,如果需求修复的话,可以操纵:
    myisamchk -of tablename.MYI
    关于myisamchk的看重参数阐明,可以参见它的操纵救济。需求看重的时在中缀修正时必需确保MySQL效劳器没有访谒这个数据表,保险的环境下是最好在中缀检测时把MySQL效劳器Shutdown失落。
    其它可以把上面的命令放在你的rc.local里面启动MySQL效劳器前:
    [ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
    此中的/tmp/mysql.sock是MySQL监听的Sock文件地位,关于操纵RPM安顿的用户应该是 /var/lib/mysql/mysql.sock,关于操纵源码安顿则是/tmp/mysql.sock可以按照本人的实践环境中缀调动,而 pathtochk则是myisamchk地点的地位,DATA_DIR是你的MySQL数据库寄存的地位。

    1,复杂的修复形式
    myisamchk -r -q path/数据库/坏表.MYI
    注:-r ----恢复形式 -q ----快速修复

    2,操纵安全修复形式

    myisamchk --safe-recover path/数据库/坏表.MYI

    3,困难的修复形式

    如果在索引文件的第一个16K块被粉碎,或包罗不精确的信息,或如果索引文件丧失落,你只应该到这个阶段 。在这种环境下,创立一个新的索引文件是需求的。按如下如许做:

    把数据文件移更安全的处所。
    操纵表描写文件创立新的(空)数据和索引文件:
    shell> mysql db_name
    mysql> Delete FROM tbl_name;
    mysql> quit

    将老的数据文件拷贝到新创立的数据文件之中。(不要只是将老文件移回新文件之中;你要保管一个副本以防某些对象失落足。)
    回到阶段2。而今myisamchk -r -q应该使命了。(这不该该是一个无限轮回)。

    4,稀疏非常困难的修复形式

    只要描写文件也粉碎了,你才应该达到这个阶段。这应该从未发作过,因为在表被创立当前,描写文件就不再窜改了。

    从一个备份恢复描写文件而且回到阶段3。你也可以恢复索引文件而且回到阶段2。对后者,你应该用myisamchk -r启动。
    如果你没有一个备份可是妥当地晓得表是如何被创立的,在另一个数据库中创立表的一个拷贝。删除新的数据文件,然后从其他数据库将描写和索引文件移到粉碎的数据库中。这给了你新的描写和索引文件,可是让数据文件单独留上去了。回到阶段2而且尝试重修索引文件。

    5,优化表结构
    myisamchk -r 表
    也可以操纵sql语句来优化OPTIMIZE TABLE




    版权声明: 原创作品,准许转载,转载时请务必以超链接形式标明文章 原始来由 、作者信息和本声明。否则将究查执法责任。

  • 相关阅读:
    通过intent启动Activity
    ubuntu12.04的NFS配置
    内核添加对yaffs2文件系统的支持
    linux内核移植到S5pv210
    nand驱动移植
    tiny210V2 Uboot kernel filesystem 烧写和启动
    linux C++通过ntp协议获取网络时间
    tiny210移植linux内核(3.0.8)杂项
    Ubuntu系统中Sogou输入法面板问题解决方案
    Ubuntu系统中登陆阿里云服务器的方法
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1974046.html
Copyright © 2020-2023  润新知