linux – MySQL表没有修复

前端之家收集整理的这篇文章主要介绍了linux – MySQL表没有修复前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
表信息:
Database name: user_motiva
Table name: wp_options.frm  wp_options.MYD  wp_options.MYI  wp_options.TMD

当我做一个MysqLcheck -r –all-databases时,即使你让它整天坐着,它也会挂在那个桌子上.即使只是一张支票挂在同一个地方.

有没有其他方法来修复/修复/恢复该表?

我应该使用myisamchk吗?我看到类似的东西:

shell> myisamchk --recover City

您甚至无法从PHPMyAdmin访问/查看数据库,甚至“USE”;在MysqL没有它只是挂.

我配置在一个16GB的ram盒子上

cat /etc/my.cnf
[MysqLd]
default-storage-engine=MyISAM
local-infile=0
symbolic-links=0
skip-networking
max_connections = 500
max_user_connections = 20
key_buffer = 512M
myisam_sort_buffer_size = 64M
join_buffer_size = 64M
read_buffer_size = 12M
sort_buffer_size = 12M
read_rnd_buffer_size = 12M
table_cache = 2048
thread_cache_size = 16K
wait_timeout = 30
connect_timeout = 15
tmp_table_size = 64M
max_heap_table_size = 64M
max_allowed_packet = 64M
max_connect_errors = 10
query_cache_limit = 1M
query_cache_size = 64M
query_cache_type = 1
low_priority_updates=1
concurrent_insert=ALWAYS
log-error=/var/log/MysqL/error.log
tmpdir=/home/MysqLtmp
myisam_repair_threads=4
[MysqLd_safe]
open_files_limit = 8192
log-error=/var/log/MysqL/error.log

[MysqLdump]
quick
max_allowed_packet = 512M

[myisamchk]
key_buffer = 64M
sort_buffer = 64M
read_buffer = 16M
write_buffer = 16M

这是因为killall -9 MysqLd崩溃了,因为它不会关闭并重启?

编辑:

root@server [/var/lib/MysqL/user_motiva]# myisamchk -e *.MYI
Checking MyISAM file: wp_options.MYI
Data records:    1827   Deleted blocks:       3
myisamchk: warning: 3 clients are using or haven't closed the table properly
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check data record references index: 2
- check records and index references
MyISAM-table 'wp_options.MYI' is usable but should be fixed
root@server [/var/lib/MysqL/user_motiva]# myisamchk --safe-recover wp_options.MYI
- recovering (with keycache) MyISAM-table 'wp_options.MYI'
Data records: 1827
myisamchk: error: Can't create new tempfile: 'wp_options.TMD'
MyISAM-table 'wp_options.MYI' is not fixed because of errors
Try fixing it by using the --safe-recover (-o),the --force (-f) option or by not using the --quick (-q) flag
root@ns2 [/var/lib/MysqL/user_motiva]# myisamchk -o -f wp_options.MYI
- recovering (with keycache) MyISAM-table 'wp_options.MYI'
Data records: 1827

这是否意味着它现在已修复?如果是这样,我该如何将其移回? (这是在不同的服务器上完成的)
有没有办法让MysqL在主服务器上运行并运行命令来修复所有文件

解决方法

MysqLcheck运行许多操作:检查,修复,分析和优化.你现在正在跳“修复”(-r)但是应该从“检查”开始,只是看看发生了什么,看看是否有任何回应:
MysqLcheck --check --quick user_motiva wp_options

如果需要密码(例如,不在配置文件中),请添加“-p”.

如果通过,请尝试没有“–quick”.一旦确定了问题(如果有的话),就应该更容易继续.

顺便说一下,“myisamchk”是检查表格的另一种方式.这里的主要区别是它在数据库未运行时使用.使用哪个取决于您是否需要为了其他数据而继续运行.

猜你在找的Linux相关文章