`

mysql错误:Table X is marked as crashed and should be repaired

阅读更多
myisamchk 说明及其参数

Description, check and repair of MyISAM tables.
Used without options all tables on the command will be checked for errors
Usage: myisamchk [OPTIONS] tables[.MYI]

Global options:
  -H, --HELP          Display this help and exit.
  -?, --help          Display this help and exit.
  -t, --tmpdir=path   Path for temporary files. Multiple paths can be
                      specified, separated by colon (:), they will be used
                      in a round-robin fashion.
  -s, --silent       Only print errors.  One can use two -s to make
      myisamchk very silent.
  -v, --verbose       Print more information. This can be used with
                      --description and --check. Use many -v for more verbosity.
  -V, --version       Print version and exit.
  -w, --wait          Wait if table is locked.

Check options (check is the default action for myisamchk):
  -c, --check       Check table for errors.
  -e, --extend-check  Check the table VERY throughly.  Only use this in
                      extreme cases as myisamchk should normally be able to
                      find out if the table is ok even without this switch.
  -F, --fast       Check only tables that haven't been closed properly.
  -C, --check-only-changed
      Check only tables that have changed since last check.
  -f, --force         Restart with '-r' if there are any errors in the table.
      States will be updated as with '--update-state'.
  -i, --information   Print statistics information about table that is checked.
  -m, --medium-check  Faster than extend-check, but only finds 99.99% of
      all errors.  Should be good enough for most cases.
  -U  --update-state  Mark tables as crashed if you find any errors.
  -T, --read-only     Don't mark table as checked.

Repair options (When using '-r' or '-o'):
  -B, --backup       Make a backup of the .MYD file as 'filename-time.BAK'.
  --correct-checksum  Correct checksum information for table.
  -D, --data-file-length=#  Max length of data file (when recreating data
                      file when it's full).
  -e, --extend-check  Try to recover every possible row from the data file
      Normally this will also find a lot of garbage rows;
      Don't use this option if you are not totally desperate.
  -f, --force         Overwrite old temporary files.
  -k, --keys-used=#   Tell MyISAM to update only some specific keys. # is a
              bit mask of which keys to use. This can be used to
      get faster inserts.
  --max-record-length=#
                      Skip rows bigger than this if myisamchk can't allocate
      memory to hold it.
  -r, --recover       Can fix almost anything except unique keys that aren't
                      unique.
  -n, --sort-recover  Forces recovering with sorting even if the temporary
      file would be very big.
  -p, --parallel-recover
                      Uses the same technique as '-r' and '-n', but creates
                      all the keys in parallel, in different threads.
  -o, --safe-recover  Uses old recovery method; Slower than '-r' but can
      handle a couple of cases where '-r' reports that it
      can't fix the data file.
  --character-sets-dir=...
                      Directory where character sets are.
  --set-collation=name
      Change the collation used by the index.
  -q, --quick         Faster repair by not modifying the data file.
                      One can give a second '-q' to force myisamchk to
      modify the original datafile in case of duplicate keys.
      NOTE: Tables where the data file is currupted can't be
      fixed with this option.
  -u, --unpack        Unpack file packed with myisampack.

Other actions:
  -a, --analyze       Analyze distribution of keys. Will make some joins in
      MySQL faster.  You can check the calculated distribution
      by using '--description --verbose table_name'.
  --stats_method=name Specifies how index statistics collection code should
                      treat NULLs. Possible values of name are "nulls_unequal"
                      (default for 4.1/5.0), "nulls_equal" (emulate 4.0), and
                      "nulls_ignored".
  -d, --description   Prints some information about table.
  -A, --set-auto-increment[=value]
      Force auto_increment to start at this or higher value
      If no value is given, then sets the next auto_increment
      value to the highest used value for the auto key + 1.
  -S, --sort-index    Sort index blocks.  This speeds up 'read-next' in
      applications.
  -R, --sort-records=#
      Sort records according to an index.  This makes your
      data much more localized and may speed up things
      (It may be VERY slow to do a sort the first time!).
  -b,  --block-search=#
                       Find a record, a block at given offset belongs to.

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
The following groups are read: myisamchk
The following options may be given as the first argument:
--print-defaults        Print the program argument list and exit.
--no-defaults           Don't read default options from any option file.
--defaults-file=#       Only read default options from the given file #.
--defaults-extra-file=# Read this file after the global files are read.



使用 mysql安装自带的工具myisamchk进行检查错误并修复
   myisamchk -c -o (或者--safe-recover)   对应表的MYI文件的绝对路径
很容易就搞定




分享到:
评论

相关推荐

    MySQL error code 145 Table was marked as crashed and should be repaired

    在处理MySQL数据库时遇到错误代码145(`Table was marked as crashed and should be repaired`)是一个常见的问题,尤其是在表结构遭到损坏或数据库服务突然中断的情况下。根据提供的部分日志内容可以看出,该错误...

    Table ‘xxx’ is marked as crashed and should be repaired 错误解决方法参考

    在MySQL数据库管理过程中,遇到“Table ‘xxx’ is marked as crashed and should be repaired”这类错误时,往往意味着某个或某些数据库表已经损坏,无法正常读取或使用。这类问题可能会导致数据丢失或者服务中断,...

    Mysql中Table ‘XXX’ is marked as crashed and last (automatic?)问题解决方法

    在使用MySQL数据库的过程中,如果遇到提示“Table ‘XXX’ is marked as crashed and last (automatic?)”,这通常意味着指定的表已经遭受了损坏。在这种情况下,我们可以采取一些步骤来解决这个问题。下面详细地...

    智慧生态环境解决方案 [Repaired].pptx

    智慧环保 环保物联网 水质、大气、土壤等领域的数据共享交换。

    MySQL数据库表修复 MyISAM

    一:MySQL中MyISAM表损坏原因总结: 1、 服务器突然断电导致数据文件损坏;强制关机,没有先关闭mysql 服务;mysqld 进程在写表时被...3 、Error: Table ‘…’ is marked as crashed and should be repaired 。 4 、打开

    基于Socket 的网络调试助手

    例如,当应用程序无法正常连接服务器时,可以使用助手来排除网络层面的问题,或者在数据传输过程中出现问题时,通过助手查看发送和接收的数据,找出编码或解码的错误。 总的来说,基于Socket的网络调试助手是网络...

    tcp网络调试助手

    标题中的“tcp网络调试助手”是一款专为TCP网络通信设计的辅助工具,它允许用户便捷地设置服务端和客户端,以便进行数据的发送与接收。TCP(Transmission Control Protocol)是互联网协议栈中的一种面向连接的、可靠...

    shell脚本自动修复mysql损坏的表

    问题描述:最近查看mysql数据库服务器日志,老发现有表损坏的错误日志,比如:120724 7:30:48 [ERROR] /data/soft/mysql/libexec/mysqld: Table ‘./blog/wp_links’ is marked as crashed and last (automatic?...

    mysql数据库索引损坏及修复经验分享

    首先,MySQL的错误日志中可能会出现类似“Table './dedecmsv4/dede_archives' is marked as crashed and should be repaired”的信息,这表明某个表(如dede_archives)出现了索引损坏。这种情况可能由于数据库...

    mysql修复数据表的命令方法

    当遇到“is marked as crashed and should be repaired”这样的错误提示时,这通常意味着某个数据表在上次关闭时没有正常完成操作,可能丢失了一些数据或结构信息,需要进行修复。 **一、修复所有数据库** 如果...

    数据库MySQL表修复MyISAM

    数据库报错: SQLSTATE[HY000]: General error: 144 Table './db_jiangzi_video/cmf_jiangzi_items' is marked as crashed and last (automatic?) repair failed MySQL数据库表修复 MyISAM

    marked-sanitizer-github:一个marked.js的净化器,它以与GitHub相同的方式净化markdown中HTML元素

    $ npm install --save marked-sanitizer-github 用法 它输出一类SanitizeState因为该清理是有状态的。 您可以通过调用getSanitizer()方法来为标记的解析器获取一个消毒剂。 它返回一个要清除的函数对象。 con

    NGUI v3.5.1

    - FIX: Widget inspector's Dimensions field should no longer be grayed out if the widget is partially anchored. - FIX: UIRoot's FixedSizeOnMobiles setting should now recognize BB and WP8 as mobile ...

    ITIL相关介绍

    对ITIL的简单介绍,希望给大家带来帮助。

    MYSQL数据表损坏的原因分析和修复方法小结(推荐)

    - 错误提示:“Incorrect key file for table”或“Table is marked as crashed”。 - 查询异常:无法找到数据行,或者返回数据不完整。 - 打开表失败:如“Can't open file”(errno: 145)。 - 数据访问异常:...

Global site tag (gtag.js) - Google Analytics