gpt4 book ai didi

MySQL 错误 key 文件不正确。 myisamchk 修复有效,但表很快再次损坏

转载 作者:行者123 更新时间:2023-11-29 18:50:56 25 4
gpt4 key购买 nike

我在 stackoverflow 上的第一个问题,所以我希望我遵循了所有指南。

我有一个在 Digital Ocean Droplet 上使用 MySql 数据库的网站。

我发现 mysql 已停止运行,并且在查看后发现损坏的表。用 myisamchk -r 修复它们后,我认为问题已经解决了。然而这种情况一直在发生。我在 my.cnf 中更改了 innodb_buffer_pool_size = 20M ,并在阅读此 MySQL, Error 126: Incorrect key file for table 后在 /dev/vda/ 上创建了一些可用空间

Filesystem     1K-blocks     Used Available Use% Mounted on
udev 239664 4 239660 1% /dev
tmpfs 50176 380 49796 1% /run
/dev/vda1 20511356 12346408 7099992 64% /
none 4 0 4 0% /sys/fs/cgroup
none 5120 0 5120 0% /run/lock
none 250872 0 250872 0% /run/shm

我在 mysql/error.log 中有这些错误

[ERROR] /usr/sbin/mysqld: Incorrect key file for table './websitename/wp_options.MYI'; try to repair it
[ERROR] Got an error from thread_id=178, /build/mysql-5.5-heGK82/mysql-5.5-5.5.55/storage/myisam/mi_update.c:226
[ERROR] MySQL thread id 178, OS thread handle 0x7f4544010700, query id 69124 localhost th3489075 Updating

当我在损坏的表上运行 myisamchk db_name.MYI 时,我得到

Checking MyISAM file: wp_options.MYI
Data records: 375 Deleted blocks: 0
myisamchk: warning: Table is marked as crashed
myisamchk: warning: 1 client is using or hasn't closed the table properly
- check file-size
myisamchk: error: Size of datafile is: 1059228 Should be: 1059276
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check data record references index: 2
- check record links
myisamchk: error: Keypointers and record positions doesn't match
myisamchk: warning: Found 375 key parts. Should be: 377
MyISAM-table 'wp_options.MYI' is corrupted
Fix it using switch "-r" or "-o"

使用myisamchk -r或-o选项修复表似乎在报告没有问题后立即运行myisamchk *.MYI,但稍后返回上面的错误。

我有数据库的各种备份,但不确定它们与当前的备份有多大不同。

我理解如果 mysql 正在运行,则会出现警告 myisamchk: warning: 1 client is using or has not close the table

当 mysql 停止时 myisamchk *.MYI 报告一切正常,但 mysql 仍然崩溃。

最佳答案

每次 mysqld 发生电源故障或其他突然终止时,MyISAM 表可能会被损坏。这是切换到 InnoDB 的一个强有力的理由,它可以更好地保护自身并在重启时自动修复。

同时,您可以尝试OPTIMIZE TABLE作为强制重建表的一种方式。这可能会也可能不会丢失似乎丢失的数据,但它可能会消除错误消息,直到下一次崩溃。

关于MySQL 错误 key 文件不正确。 myisamchk 修复有效,但表很快再次损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44357511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com