我有一个MySQL服务器(版本:5.5.3-m3 – 日志源分布),并保持显示大量
110214 3:01:48 [ERROR] /usr/local/mysql/libexec/mysqld: Table './mydb/tablename' is marked as crashed and should be repaired 110214 3:01:48 [Warning] Checking table: './mydb/tablename'
我想知道什么是可能的casues,以及如何解决这个问题 。 这里是一个完整的mysqlconfiguration列表:
connect_errors = 6000 table_cache = 614 external-locking = FALSE max_allowed_packet = 32M sort_buffer_size = 2G max_length_for_sort_data = 2G join_buffer_size = 256M thread_cache_size = 300 #thread_concurrency = 8 query_cache_size = 512M query_cache_limit = 2M query_cache_min_res_unit = 2k default-storage-engine = MyISAM thread_stack = 192K transaction_isolation = READ-COMMITTED tmp_table_size = 246M max_heap_table_size = 246M long_query_time = 3 log-slave-updates = 1 log-bin = /data/mysql/3306/binlog/binlog binlog_cache_size = 4M binlog_format = MIXED max_binlog_cache_size = 8M max_binlog_si ze = 1G relay-log-index = /data/mysql/3306/relaylog/relaylog relay-log-info-file = /data/mysql/3306/relaylog/relaylog relay-log = /data/mysql/3306/relaylog/relaylog expire_logs_days = 30 key_buffer_size = 1G read_buffer_size = 1M read_rnd_buffer_size = 16M bulk_insert_buffer_size = 64M myisam_sort_buffer_size = 2G myisam_max_sort_file_size = 5G myisam_repair_threads = 1 max_binlog_size = 1G interactive_timeout = 64 wait_timeout = 64 skip-name-resolve slave-skip-errors = 1032,1062,126,1114,1146,1048,1396
这个盒子在centos-5.5上运行。 谢谢你的帮助。
虽然腐败的数据是less之又less。 这是我们合作的野兽的本质。
只要运行时间mysqlcheck mydb tablenam -r
这应该有所帮助。
是你的机器硬重启或什么的。
对于“修复”部分,您也可以在my.cnf中放入“myisam-recover-options”(与5.5.3之前的“myisam-recover”相同),这样MySQL就会尝试修复MyISAM表 – 存在不同的选项,请参阅MySQL文档
如果你遇到这样的错误,就像你的问题一样,你应该看看MySQL本身以外的东西。 如果没有外部帮助,MySQL不会产生重复的多重错误。 我build议你在进行任何进一步操作之前,在硬盘和RAM上运行一些严重的诊断。