LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 925|回复: 2

大家讨论讨论有关mysql数据维护和修复\检查的问题吧

[复制链接]
发表于 2003-4-21 10:45:23 | 显示全部楼层 |阅读模式
我做了一个大型网站,数据库经常出错或者数据大量丢失,各位有没有好的数据维护和修复的办法啊,
有没有有关myisamchk的详细命令解释啊,
出现各种数据库问题,如何应付啊,如何修复,如何维护啊,各位高手谈谈吧.
 楼主| 发表于 2003-4-21 10:59:03 | 显示全部楼层

谁英语好啊,翻译一下啊

D:\mysql\bin>myisamchk --help
myisamchk  Ver 1.53 for Win95/Win98 at i32
By Monty, for your professional use
This software comes with NO WARRANTY: see the PUBLIC for details.

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

Global options:
  -#, --debug=...     Output debug log. Often this is 'd:t,filename`
  -?, --help          Display this help and exit.
  -O, --set-variable var=option
                      Change the value of a variable.
  -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
                      --describe 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 hasn't been closed properly
  -C, --check-only-changed
                      Check only tables that has 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 extended-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'
  -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!
  -l, --no-symlinks   Do not follow symbolic links. Normally
                      myisamchk repairs the table a symlink points at.
  -r, --recover       Can fix almost anything except unique keys that aren't
                      unique.
  -n, --sort-recover  Force recovering with sorting even if the temporary
                      file would be very big.
  -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-character-set=name
                      Change the character set used by the index
  -t, --tmpdir=path   Path for temporary files
  -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
  -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 '--describe --verbose table_name'.
  -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!)

Default options are read from the following files in the given order:
D:\WINNT\my.ini C:\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 options file
--defaults-file=#       Only read default options from the given file #
--defaults-extra-file=# Read this file after the global files are read

Possible variables for option --set-variable (-O) are:
key_buffer_size       current value: 20967424
read_buffer_size      current value: 2097144
write_buffer_size     current value: 2097144
sort_buffer_size      current value: 20971512
sort_key_blocks       current value: 16
decode_bits           current value: 9

D:\mysql\bin>
发表于 2003-4-21 12:20:55 | 显示全部楼层
问题不是很严重的话,到数据库的存储目录下,用命令myisamchk -q -r *.MYI命令修复就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表