怎么查看mysql数据库中的表是否损坏可以使用语句检查表 。如果结果的msg_text部分是好的,那么你的表是健康的 。反之,则表明mysql数据库中的表有损坏 。另外有些厉害的高手一额可以通过运行脚本来检测 。
MyISAM 表可以采用以下方法进行修复 :使用 reapair table 或myisamchk 来修复 。如果修复无效,采用备份恢复表 。
阶段1 :检查你的表
如果你有很多时间,运行myisamchk *.MYI 或myisamchk -e *.MYI。使用-s (沉默)选项禁止不必要的信息 。如果mysqld 服务器处于宕机状态,应使用--update-state 选项来告诉myisamchk 将表标记为' 检查过的'。
你必须只修复那些myisamchk 报告有错误的表 。对这样的表,继续到阶段2。如果在检查时,你得到奇怪的错误( 例如out of memory 错误),或如果myisamchk 崩溃 , 到阶段3。
阶段2 :简单安全的修复
注释:如果想更快地进行修复 , 当运行myisamchk 时,你应将sort_buffer_size 和Key_buffer_size 变量的值设置为可用内存的大约25%。
首先,试试myisamchk -r -q tbl_name(-r -q 意味着“ 快速恢复模式”)。这将试图不接触数据文件来修复索引文件 。如果数据文件包含它应有的一切内容和指向数据文件内正确地点的删除连接,这应该管用并且表可被修复 。开始修复下一张表 。否则,执行下列过程:
在继续前对数据文件进行备份 。使用myisamchk -r tbl_name(-r 意味着“ 恢复模式”)。这将从数据文件中删除不正确的记录和已被删除的记录并重建索引文件 。
如果前面的步骤失败 , 使用myisamchk --safe-recover tbl_name。安全恢复模式使用一个老的恢复方法,处理常规恢复模式不行的少数情况( 但是更慢)。如果在修复时,你得到奇怪的错误( 例如out of memory 错误) ,或如果myisamchk 崩溃 , 到阶段3。
阶段3 :困难的修复
只有在索引文件的第一个16K 块被破坏,或包含不正确的信息 , 或如果索引文件丢失,你才应该到这个阶段 。在这种情况下,需要创建一个新的索引文件 。按如下步骤操做:
把数据文件移到安全的地方 。使用表描述文件创建新的( 空) 数据文件和索引文件:
shell mysql db_name
mysql SET AUTOCOMMIT=1;
mysql TRUNCATE TABLE tbl_name;
mysql quit
如果你的MySQL 版本没有TRUNCATE TABLE ,则使用DELETE FROM tbl_name。将老的数据文件拷贝到新创建的数据文件之中 。回到阶段2。现在myisamchk -r -q 应该工作了 。你还可以使用REPAIR TABLE tbl_name USE_FRM ,将自动执行整个程序 。
阶段4 :非常困难的修复
只有.frm 描述文件也破坏了,你才应该到达这个阶段 。这应该从未发生过 , 因为在表被创建以后,描述文件就不再改变了 。
从一个备份恢复描述文件然后回到阶段3。你也可以恢复索引文件然后回到阶段2。对后者,你应该用myisamchk -r 启动 。
如果你没有进行备份但是确切地知道表是怎样创建的,在另一个数据库中创建表的一个拷贝 。删除新的数据文件 , 然后从其他数据库将描述文件和索引文件移到破坏的数据库中 。这样提供了新的描述和索引文件,但是让.MYD 数据文件独自留下来了 。回到阶段2并且尝试重建索引文件 。
用VBA检查mysql是否启动方法如下
1.使用命令 # service mysqld status 命令来查看mysql 怎么查询mysql的状态的启动状态怎么查询mysql的状态 , 如果出现mysqld is stopped 那就说明mysql服务是停止状态
2.如果出现 mysqld is running 那就说明mysql服务是启动状态。
3.使用命令chkconfig --list 命令来查看mysql 的启动状态,在服务中找到mysqld的服务,如果状态为off,说明mysql服务没有启动 。
推荐阅读
- 益智类游戏的本质是,益智游戏属于
- 公众号原始id怎么查看,如何查看公众号原始id
- 如何做一个营销天才顾客,如何做一个营销高手
- java代码进程间通信,java实现进程管理
- rps战略游戏,战略slg游戏
- 斗鱼直播蛋白gg,斗鱼主播蛋白欠了什么债
- go语言的核心特性有哪些 go语言核心36讲
- 电视机上s端子是什么,电视s端子输入什么信号
- 为什么html5移除元素,html5移除了那些元素