mysql表怎么修复 如何修复mysql数据库

如何修复损坏的MySQL数据表工具/材料:Management Studio 。
1、首先在桌面上,点击“Management Studio”图标 。
2、之后在窗口上,左侧选中要修复的数据表“rss” 。
3、接着在窗口上,点击工具栏里“新建查询”图标 。
4、接着在窗口上,输入修复损坏的MySQL数据表的sql语句“repair table rss;” 。
4、然后在窗口上 , 点击工具栏里“执行”图标 。
5、最后在窗口上,显示修复损坏的MySQL数据表成功 。
如何使用phpmyadmin工具进行修复MySQL数据库表操作有两种方法mysql表怎么修复,一种方法使用使用MySQL提供mysql表怎么修复的多个myisamchk, isamchk数据检测恢复工具 。另一种方法是MySQLmysql表怎么修复的check table和repair table 的sql语句mysql表怎么修复,使用起来比较简便 。一、myisamchk, isamchk 其中myisamchk适用于MYISAM类型的数据表mysql表怎么修复,而isamchk适用于ISAM类型的数据表 。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型 , 这里以myisamchk为例子进行说明 。当发现某个数据表出现问题时可以使用: myisamchk tablename.MYI 进行检测 , 如果需要修复的话 , 可以使用: myisamchk -of tablename.MYI 关于myisamchk的详细参数说明 , 可以参见它的使用帮助 。需要注意的时在进行修改时必须确保MySQL(和PHP搭配之最佳组合)服务器没有访问这个数据表 , 保险的情况下是最好在进行检测时把MySQL(和PHP搭配之最佳组合)服务器Shutdown掉 。另外可以把下面的命令放在你的rc.local里面启动MySQL(和PHP搭配之最佳组合)服务器前: 1.[ -x /tmp/MySQL(和PHP搭配之最佳组合).sock ]/pathtochk/myisamchk -of /DATA_DIR/*/*.MYI 其中的/tmp/MySQL(和PHP搭配之最佳组合).sock是MySQL(和PHP搭配之最佳组合)监听的Sock文件位置 , 对于使用RPM安装的用户应该是/var/lib/MySQL(和PHP搭配之最佳组合)/MySQL(和PHP搭配之最佳组合).sock,对于使用源码安装则是/tmp/MySQL(和PHP搭配之最佳组合).sock可以根据自己的实际情况进行变更,而pathtochk则是myisamchk所在的位置,DATA_DIR是你的MySQL(和PHP搭配之最佳组合)数据库存放的位置 。需要注意的时,如果你打算把这条命令放在你的rc.local里面,必须确认在执行这条指令时MySQL服务器必须没有启动! 检测修复所有数据库(表) MySQL(和PHP搭配之最佳组合)check -A -o -r -p 二、check table 和 repair table 登陆MySQL终端: MySQL -uxxxxx -p dbname 1. check table tabTest; 如果出现的结果说Status是OK,则不用修复,如果有Error,可以用: 1. repair table tabTest; 进行修复,修复之后可以在用check table命令来进行检查 。在新版本的phpMyAdmin里面也可以使用check/repair的功能 。
mysql 数据库表误删除了 能恢复吗每个 DBA 是不是都有过删库的经历?删库了没有备份怎么办?备份恢复后无法启动服务什么情况?表定义损坏数据无法读取怎么办?
我曾遇到某初创互联网企业,因维护人员不规范的备份恢复操作,导致系统表空间文件被初始化,上万张表无法读取,花了数小时才抢救回来 。
当你发现数据无法读取时,也许并非数据丢失了,可能是 DBMS 找不到描述数据的信息 。
背景
先来了解下几张关键的 InnoDB 数据字典表,它们保存了部分表定义信息,在我们恢复表结构时需要用到 。
SYS_TABLES 描述 InnoDB 表信息CREATE TABLE `SYS_TABLES` (`NAME` varchar(255) NOT NULL DEFAULT '',表名`ID` bigint(20) unsigned NOT NULL DEFAULT '0',表id`N_COLS` int(10) DEFAULT NULL,`TYPE` int(10) unsigned DEFAULT NULL,`MIX_ID` bigint(20) unsigned DEFAULT NULL,`MIX_LEN` int(10) unsigned DEFAULT NULL,`CLUSTER_NAME` varchar(255) DEFAULT NULL,`SPACE` int(10) unsigned DEFAULT NULL,表空间idPRIMARY KEY (`NAME`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;SYS_INDEXES 描述 InnoDB 索引信息CREATE TABLE `SYS_INDEXES` (`TABLE_ID` bigint(20) unsigned NOT NULL DEFAULT '0', 与sys_tables的id对应`ID` bigint(20) unsigned NOT NULL DEFAULT '0',索引id`NAME` varchar(120) DEFAULT NULL,索引名称`N_FIELDS` int(10) unsigned DEFAULT NULL, 索引包含字段的个数`TYPE` int(10) unsigned DEFAULT NULL,`SPACE` int(10) unsigned DEFAULT NULL,存储索引的表空间id`PAGE_NO` int(10) unsigned DEFAULT NULL,索引的root page idPRIMARY KEY (`TABLE_ID`,`ID`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;SYS_COLUMNS 描述 InnoDB 表的字段信息CREATE TABLE `SYS_COLUMNS` (`TABLE_ID` bigint(20) unsigned NOT NULL, 与sys_tables的id对应`POS` int(10) unsigned NOT NULL,字段相对位置`NAME` varchar(255) DEFAULT NULL,字段名称`MTYPE` int(10) unsigned DEFAULT NULL,字段编码`PRTYPE` int(10) unsigned DEFAULT NULL, 字段校验类型`LEN` int(10) unsigned DEFAULT NULL,字段字节长度`PREC` int(10) unsigned DEFAULT NULL, 字段精度PRIMARY KEY (`TABLE_ID`,`POS`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;SYS_FIELDS 描述全部索引的字段列CREATE TABLE `SYS_FIELDS` (`INDEX_ID` bigint(20) unsigned NOT NULL,`POS` int(10) unsigned NOT NULL,`COL_NAME` varchar(255) DEFAULT NULL,PRIMARY KEY (`INDEX_ID`,`POS`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;./storage/innobase/include/dict0boot.h 文件定义了每个字典表的 index id,对应 id 的 page 中存储着字典表的数据 。

推荐阅读