作者: btchnia 出自: http://www.linuxdiyf.com analyze table xxx 分析表 check table xxx 检查表 获得不是OK就是有问题需要修复。 repair table xxx 修复表 具体见 http://dev.mysql.com/doc/refman/5.0/en/check-table.html http://dev.mysql.com/doc/refman/5.0/en/table-maintenance.html 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31/showart_697337.html
by sdccf - MySQL文档中心 - 2008-05-21 14:47:18 阅读(660) 回复(0)
前段时间,数据库服务器(mysql)因机房掉电,异常关机。等服务器重新起来,启动mysql服务后,发现部分表有所损坏。报can't open file: "xxxx.MYI"(errno: 145)。这时最好先禁止使用到mysql的相关程序服务操作数据库。然后使用mysql自带的mysqlcheck命令来修复 mysqlcheck -A -r -c -p 输入密码来修复就可以了 -A 检查所有数据库中的所有表 -c 检查表的错误 -r 可以修复大部分问题的修复(如果不赶时间的话,...
作者: bychina 出自: http://www.linuxdiyf.com 有的时候因为掉电或者其他原因导致数据库损坏,我们可以使用mysql自带的mysqlcheck命令来快速修复所有的数据库或者特定的数据库;例如 检查优化并修复所有的数据库用: # mysqlcheck -A -o -r -p Enter password: database1 OK database2 OK ---------- 修复指定的数据库用 # mysqlcheck -A -o -r Database_NAME -p 即可 另外如果只是对某个表进行修复可以用:myisamchk或isamc...
1,简单的修复模式 myisamchk -r -q path/数据库/坏表.MYI 注:-r ----恢复模式 -q ----快速修复 2,使用安全修复模式 myisamchk --safe-recover path/数据库/坏表.MYI 3,困难的修复模式 如果在索引文件的第一个16K块被破坏,或包含不正确的信息,或如果索引文件丢失,你只应该到这个阶段 。在这种情况下,创建一个新的索引文件是必要的。按如下这样做: 把数据文件移更安全的地方。 使用表描述文件创建新的(空)数据...
理想的情况是,mysql从首次安装以来始终平稳地运行。但有时确实会由于各种原因而出现问题,其范围可以从电源断电到硬件故障到不正常地关闭mysql服务器(如用kill -9 终止服务器或机器崩溃)。诸如这样的情况大部分都超出您的控制范围,它们会导致数据库表的毁坏,尤其是在对表进行修改且未完全写入时所引起的。 本章的重点是检测和解决表的问题,而不论问题是如何引起的。对于表的检查和修复,mysql管理员最好的朋友是myisamchk 和...
我现在自己的mysql5.0中查看默认支持的存储结构是MyISAM还是InnoDB?用什么命令? [ 本帖最后由 yejr 于 2005-12-13 10:18 编辑 ]
我想实现这样的功能,通过linux的计划任务来取得mysql某个表中的到期日期endtime,email字段(循环取),把日期和系统日期比对是否过期,验证完以后发送邮件到指定的email中。用shell发送email已经测试好了,但是不知道怎么来取mysql表中的日期比较。如果shell做起来太麻烦,我还有一种思路就是:用shell来直接打开某个http://.....php页面来完成验证和发邮件的功能,最后这个web页面自动关闭,不知道这个思路是否可行,大家觉得哪...
检查配置所需内存 SET @k_bytes = 1024; SET @m_bytes = @k_bytes * 1024; SET @g_bytes = @m_bytes * 1024; SET @innodb_buffer_pool_size = 3 * @g_bytes; SET @innodb_additional_mem_pool_size = 20 * @m_bytes; SET @innodb_log_buffer_size = 20 * @m_bytes; SET @thread_stack = 192 * @k_bytes; SELECT ( @@key_buffer_size + @@query_cache_size + @@tmp_table_size + @innodb_buffer_pool_size + @innodb...
检查mysql工作状况? show processlist 几个有用的链接: 1 master server状态含义: Replication Master Thread States 2 slave I/O thread status: Replication Slave I/O Thread States 3 Replication Slave SQL Thread States
如何创建内存表? 创建内存表非常的简单,只需注明 ENGINE= MEMORY 即可: CREATE TABLE `tablename` ( `columnName` varchar(256) NOT NUL) ENGINE=MEMORY DEFAULT CHARSET=latin1 MAX_ROWS=100000000; 注意: 当内存表中的数据大于max_heap_table_size设定的容量大小时,mysql会转换超出的数据存储到磁盘上,因此这是性能就大打折扣了,所以我们还需要根据我们的实际情况调整max_heap_table_size,例如在.cnf文件...