首頁 資料庫 mysql教程 MySQL数据库表的故障检测_MySQL

MySQL数据库表的故障检测_MySQL

Jun 01, 2016 pm 01:56 PM
資料庫表

MySQL数据库表的故障检测,表的故障检测和修正的一般过程如下:

◆ 检查出错的表。如果该表检查通过,则完成任务,否则必须修复出错的数据库表。

◆ 在开始修复之前对表文件进行拷贝,以保证数据的安全。

◆ 开始修复数据库表。

◆ 如果修复失败,从数据库的备份或更新日志中恢复数据。
在使用myisamchk或isamchk检查或修复表之前,应该首先注意:

◆ 建立数据库备份和使用更新日志,以防修复失败,丢失数据。

◆ 仔细阅读本章内容以后再进行操作,尤其是不应该在阅读“避免与MySQL服务器交互作用”之前进行操作。因为,在你没有足够的知识之前贸然操作,可能会引起严重的后果。

◆ 如果你在Unix平台上对表进行维护时,应该首先注册到专用的帐户 MySQL,以避免对表读写访问产生所有权的问题,以及破坏数据库目录的所有权限。

数据库表的维护工具

MySQL的myisanchk和isamchk实用程序很类似,基本上它们具有同样的使用方法。它们之间的主要区别时所使用的表的类型。为了检查/修复MyISAM表(.MYI和.MYD),你应该使用myisamchk实用程序。为了检查/修复ISAM表(.ISM和.ISD),你应该使用isamchk实用程序。

◆ 为了使用任一个使用程序,应指明你要检查或修复的表,myisamchk和isamchk的使用方法为:

shell>myisamchk options tbl_name shell>isamchk options tbl_name 


如果你愿意,你可以在命令行命名几个表。

◆ 你也能指定一个名字作为一个索引文件(用“ .MYI”或“.ISM”后缀),它允许你通过使用模式“*.MYI”或“.ISM”指定在一个目录所有的表。例如,如果你在一个数据库目录,你可以这样在目录下检查所有的表:

shell> myisamchk *.MYI shell>isamchk *.ISM

◆ 如果你不在数据库目录下,你可指定目录的路径:

shell> myisamchk options /path/to/database_dir/*.MYI shell> isamchk options  /path/to/database_dir/*.ISM

◆ 你甚至可以通过为MySQL数据目录的路径指定一个通配符来作用于所有的数据库中的所有表:

shell> myisamchk options /path/to/datadir/*/*.MYIshell> isamchk options /path/to/database_dir/*/*.ISM

这个方法无法在windows平台下使用。

注意  不论是myisamchk还是isamchk都不对表所在的位置做任何判断,因此,应该或者在包含表文件的目录运行程序,或者指定表的路径名。这允许你将表文件拷贝到另一个目录中并用该拷贝进行操作。

检查数据库表

myisamchk和isamchk提供了表的检查方法,这些方法在彻底检查表的程度方面有差异。

标准的方法检查表

通常用标准的方法就足够了。对表使用标准的方法进行检查,不使用任何选项直接调用即可,或用-s或--silent选项的任何一个:

myisamchk tbl_name isamchk tbl_name

这能找出所有错误的99.99%。它不能找出的是仅仅涉及数据文件的损坏(这很不常见)。

完全彻底的数据检查

为了执行扩充检查,使用--extend-check或-e选项,这个选项检查数据:

myisamchk -e tbl_name isamchk -e tbl_name

它做一个完全彻底的数据检查(-e意思是“扩展检查”)。它对每一行做每个键的读检查以证实他们确实指向正确的行。这在一个有很多键的大表上可能花很长时间。myisamchk通常将在它发现第一个错误以后停止。如果你想要获得更多的信息,你能增加--verbose(-v)选项。这使得myisamchk或isamchk继续一直到最多20个错误。在一般使用中,一个简单的标准检查(没有除表名以外的参数)就足够了。

中等程度的检查

指定选项--medium-check或-m

myisamchk -m tbl_name

中等程度的检查不如扩展检查彻底,但速度快一些。其意义不大,较少使用。

如果对于--extend-check检查不报告错误,则可以肯定表是完好的。如果你仍然感觉表有问题,那原因肯定在其它地方。应重新检查人和好像有问题的查询以验证查询是正确书写的。如果你认为问题可能是MySQL服务器的原因,应该考虑整理一份故障报告或者升级到新的版本上。
可能有用的检查选项:

1.-i或―information 打印统计信息,例如:

myisamchk -e -i tbl_name 

象前面的命令一样,但是-i选项告诉myisamchk还打印出一些统计信息。

2.-C, --check-only-changed

只检查上一次检查后被修改的表

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何使用PHP建立和管理資料庫表 如何使用PHP建立和管理資料庫表 Sep 09, 2023 pm 04:48 PM

如何使用PHP創建和管理資料庫表隨著互聯網的迅速發展,資料庫成為了各種網站和應用程式不可或缺的組成部分。在PHP中,我們可以利用資料庫管理系統(DBMS)如MySQL來建立和管理資料庫表。本文將教你如何使用PHP來實現這項功能,並附上對應的程式碼範例。連接資料庫首先,我們需要在PHP中連接到資料庫。可以使用PHP提供的mysqli擴充或PDO來實現這項功能。

資料庫視圖和表格有哪些區別 資料庫視圖和表格有哪些區別 Sep 04, 2023 pm 03:13 PM

資料庫檢視和表格的差異有:1、表格是資料庫中用來儲存資料的實體結構,而檢視只是基於資料表或多個資料表的查詢結果集;2、資料表是資料的實體儲存單元,檢視只是提供了查看和操作表資料的規則;3、視圖為資料庫提供進階的安全機制,表沒有安全機制;4、視圖是表的抽象;5、視圖可查詢中組合多個表,表只能查詢單一表; 6.表格是資料庫中的永久性結構,視圖不是;7、視圖可建立相同名稱的視圖,表格不能建立同名表格等等。

資料庫視圖和表格怎麼區分 資料庫視圖和表格怎麼區分 Aug 22, 2023 am 11:27 AM

資料庫視圖和表格是資料庫中的兩個不同的概念,有著不同的功能和用途,表是資料庫中真正儲存資料的實體,而視圖是從一個或多個表中導出的虛擬表,用於以特定的方式呈現和操作數據。表格具有更高的資料持久性,而視圖則提供了更靈活和便捷的資料存取方式。

PHP和PDO: 如何執行資料庫表的修改和重新命名 PHP和PDO: 如何執行資料庫表的修改和重新命名 Jul 28, 2023 pm 10:42 PM

PHP和PDO:如何執行資料庫表的修改和重新命名隨著應用程式的發展和需求的變化,我們常常需要對資料庫中的表進行修改和重新命名。在PHP中,我們可以使用PDO(PHPDataObjects)擴充函式庫來執行這些操作。本文將介紹如何使用PDO來執行資料庫表的修改和重新命名,並提供程式碼範例。首先,我們需要確保已經成功連接到資料庫。假設我們已經使用PDO建立了與資料庫的

資料庫視圖和表格的差別有哪些 資料庫視圖和表格的差別有哪些 Aug 22, 2023 am 11:15 AM

資料庫視圖和表在資料庫中有以下5點區別:1、視圖不儲存數據,而表是實際儲存資料的物件;2、視圖的資料是一個虛擬表,而表中的資料可以來自多個來源; 3.視圖繼承查詢語句的結構,而表格具有自己的結構定義;4、視圖不可更新,而表允許直接對其進行操作;5、視圖基於底層表的權限,而表具有自己的存取權限。

資料匯出:自訂資料庫表 資料匯出:自訂資料庫表 Sep 02, 2023 pm 06:01 PM

如本系列的第一篇文章中所提到的,自訂資料庫表的主要問題之一是它們不由現有的匯入和匯出處理程序處理。本文旨在解決這個問題,但應該指出的是,目前還沒有完全令人滿意的解決方案。讓我們考慮兩種情況:自訂表格引用本機WordPress表格自訂表格完全獨立於原生表格「最壞情況」是第一種情況。以保存使用者活動日誌的自訂表為例。它引用使用者ID、物件ID和物件類型-所有這些都引用儲存在本機WordPress表中的資料。現在想像一下,有人想要將其WordPress網站中的所有資料匯入到第二個網站中。例如,完全

優化MySQL表結構以解決連線問題 優化MySQL表結構以解決連線問題 Jun 30, 2023 pm 01:04 PM

MySQL連線問題之如何優化資料庫表結構?在開發應用程式時,資料庫連接是非常重要的一部分。當我們在使用MySQL資料庫時,正確優化資料庫表結構可以提高查詢和連接效能,從而提升應用程式的效能和回應速度。本文將介紹一些最佳化資料庫表結構的方法,以解決MySQL連線問題。一、合理設計表結構在設計資料庫表結構時,需要根據應用程式的需求,合理地設計表之間的關係,減少數據

表和資料庫是什麼關係 表和資料庫是什麼關係 Aug 28, 2023 am 09:15 AM

表是資料庫中資料儲存的方式,而資料庫則是資料的整體容器和管理系統,表格透過資料庫提供的功能來進行建立、查詢、更新和刪除等操作,以滿足使用者對資料的需求。

See all articles