如何修复损坏数据库中的数据表

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 在使用MySQL过程中,各种意外会导致数据库表的损坏,而且这些数据往往是最新的数据,通常不可能在备份数据中找到。在使用阿里云数据库RDS产品中,RDS是如何修复损坏数据库中的数据表的呢?在传统数据库中,又是如何对其进行修复的呢?接下来,我们将做一个比较:
在使用MySQL过程中,各种意外会导致数据库表的损坏,而且这些数据往往是最新的数据,通常不可能在备份数据中找到。在使用阿里云数据库RDS产品中,RDS是如何修复损坏数据库中的数据表的呢?在传统数据库中,又是如何对其进行修复的呢?接下来,我们将做一个比较:

阿里云数据库RDS
阿里云提供的关系型数据库(Relational Database Service,简称 RDS)是一种稳定可靠、可弹性伸缩的在线数据库服务。基于飞天分布式系统和高性能存储,RDS 支持 MySQL、SQL Server、PostgreSQL 和 PPAS( Postgre Plus Advanced server,一种高度兼容 Oracle 的数据库)引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案。

背景:
RDS(mysql)如果使用了myisam引擎,那就很容易会出现数据表损坏的情况,这时候执行查询可能会提示:
mysql error:1194:Table 'xxx' is marked as crashed and should be repaired
那么,我们可以通过下面2种方法来进行修复,修复的过程中可能会导致数据丢失,操作之前最后能做个临时实例进行备份。
1.通过mysql客户端登入到数据库中进行操作,登入到指定的库中,执行下面命令修复:
repair table wp_users;
其中 wp_users是需要修复的表名称
0df1a38eac5409b802407a2f56c7b235cfc7e9cb
2.使用DMS登入上去,选中表—右键菜单 —表维护 — 修复表 — 常规 这一系列步骤来进行修复。
7dda683e4cc0390d520c935172fbd4970a1d7f75
传统数据库:
背景:
由于断电或非正常关机而导致MySQL数据库出现错误是非常常见的问题。
那么,我们可以通过下面2种方法来进行修复,一种方法使用mysql的check table和repair table 的sql语句,另一种方法是使用MySQL提供的多个myisamchk和isamchk数据检测恢复工具。
1.check table 和 repair table
登陆mysql 终端:
mysql -uxxxxx -p dbname
> check table tabTest;
如果出现的结果说Status是OK,则不用修复,如果有Error,可以用:
> repair table tabTest;
进行修复,修复之后可以在用check table命令来进行检查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。
2.Myisamchk和 isamchk
其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:myisamchk tablename.MYI
进行检测,如果需要修复的话,可以使用:myisamchk -of tablename.MYI
关于myisamchk的详细参数说明,可以参见它的使用帮助。需要注意的时在进行修改时必须确保MySQL服务器没有访问这个数据表,保险的情况下是最好在进行检测时把MySQL服务器Shutdown掉。

综上,我们可以看出相对于传统数据库在修复数据表时较复杂,而在阿里云数据库RDS中修复数据表易操作易维护,可以有效地减轻用户的运维压力。

参考

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
存储 SQL 数据库
数据库实验一:数据库与数据表定义(1)—— 数据库相关操作
修改服务器默认存储位置:右键点击服务器,选择属性中的数据库设置,修改数据和日志存放位置后点击确定
151 0
数据库实验一:数据库与数据表定义(1)—— 数据库相关操作
|
2月前
|
Kubernetes 关系型数据库 数据库
运行在容器中 Postgres 数据库数据损坏后如何恢复?
运行在容器中 Postgres 数据库数据损坏后如何恢复?
|
6月前
|
数据库 Windows
数据库数据恢复—SqlServer数据库分区损坏的数据恢复案例
SqlServer数据库数据恢复环境: 一台服务器,windows操作系统+NTFS文件系统,运行了12个sqlserver数据库。 SqlServer数据库故障: 根据用户描述,故障情况是工作人员误操作导致服务器硬盘上sqlserver数据库所在分区损坏。经过北亚企安数据恢复工程师对故障服务器硬盘的初步检测,确认sqlserver数据库所在分区损坏,sqlserver数据库数据丢失。
数据库数据恢复—SqlServer数据库分区损坏的数据恢复案例
|
7月前
|
SQL 数据库 索引
数据库数据恢复-SQL SERVER数据库MDF (NDF)或LDF损坏如何恢复数据?
SQL SERVER数据库故障类型: SQL SERVER数据库MDF(NDF)或LDF损坏。 SQL SERVER数据库故障原因: 1、数据库正在操作过程中,机器突然断电。 2、人为误操作。
|
9月前
|
存储 关系型数据库 MySQL
MySQL什么是数据库,什么是数据表,什么是字段,一个项目中可以存在多个数据库吗?
MySQL什么是数据库,什么是数据表,什么是字段,一个项目中可以存在多个数据库吗?
88 0
|
9月前
|
存储 安全 网络安全
.360勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
近年来,随着互联网的普及和信息技术的快速发展,网络安全问题日益严峻。其中,勒索病毒成为网络安全领域的一大威胁。本文91数据恢复将重点介绍一种名为“.360勒索病毒”的恶意软件,并探讨被该病毒加密的数据文件如何进行恢复。
.360勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
|
9月前
|
存储 数据库
数据库视频第四章 数据表管理
数据库视频第四章 数据表管理
|
9月前
|
关系型数据库 MySQL 数据库
MySQL实战基础知识入门(8):MySQL数据库实例数据表解读字段命名方式以及数据类型的设置
MySQL实战基础知识入门(8):MySQL数据库实例数据表解读字段命名方式以及数据类型的设置
98 0
|
9月前
|
存储 SQL 数据可视化
MySQL数据库,从入门到精通:第十三篇——MySQL数据表约束详解(四)
MySQL数据库,从入门到精通:第十三篇——MySQL数据表约束详解
75 0
|
9月前
|
SQL 关系型数据库 MySQL
MySQL数据库,从入门到精通:第十三篇——MySQL数据表约束详解(一)
MySQL数据库,从入门到精通:第十三篇——MySQL数据表约束详解
74 0

热门文章

最新文章