以下的文章主要讲述的是MySQL数据库中某些数据损坏的实际恢复过程,前几天因为MySQL数据库中的数据损坏,我就尝试了一下恢复数据的实际操作,之后整理以下文档,供各位参考,以备各位同事以后如有类似问题。 环境:Windows2003 数据库:MySQL(和PHP搭配之最
以下的文章主要讲述的是MySQL数据库中某些数据损坏的实际恢复过程,前几天因为MySQL数据库中的数据损坏,我就尝试了一下恢复数据的实际操作,之后整理以下文档,供各位参考,以备各位同事以后如有类似问题。
环境:Windows2003
数据库:MySQL(和PHP搭配之最佳组合)
损坏数据文件名:function_products
将MySQL数据库内容物理文件直接导入到MySQL(和PHP搭配之最佳组合)\data下,每只表各3个文件,依次分别为:
.frm .myd .myi。首先我第一想到的是去网上搜索,寻找类似的工具,试图通过工具来恢复已损坏的文件,于是我在google上查找,找到一款名为MySQL(和PHP搭配之最佳组合)recovery的工具,安装后我用其进行恢复,只可惜效果太不理想,几十MB大的数据文件,恢复之后它提示我竟然只有几十KB。
我又想到了MySQL(和PHP搭配之最佳组合)下应有自己本身的修复程序等,于是想通过其来进行恢复,心想应不会太差劲吧,在网上查找了资料,提示:由于临时断电,使用kill -9中止MySQL(和PHP搭配之最佳组合)服务进程,或者是MySQL(和PHP搭配之最佳组合)正在高速运转时进行强制备份操作时等,所有的这些都可能会毁坏MySQL(和PHP搭配之最佳组合)的数据文件。如果在被干扰时,服务正在改变文件,文件可能会留下错误的或不一致的状态。因为这样的毁坏有时是不容易被发现的,当你发现这个错误时可能是很久以后的事了。
于是,当你发现这个问题时,也许所有的备份都有同样的错误。我想我现在碰到的问题可能是这个问题,因为备份的数据也是有部分损坏的数据,所以导致不能完全运行, 意识到myisamchk程序对用来检查和修改的MySQL(和PHP搭配之最佳组合)数据文件的访问应该是唯一的。
如果MySQL(和PHP搭配之最佳组合)服务正在使用某一文件,并对myisamchk正在检查的文件进行修改,myisamchk会误以为发生了错误,并会试图进行修复--这将导致MySQL(和PHP搭配之最佳组合)服务的崩溃!这样,要避免这种情况的发生,通常我们需要在工作时关闭MySQL(和PHP搭配之最佳组合)服务。
作为选择,你也可以暂时关闭服务以制作一个文件的拷贝,然后在这个拷贝上工作。当你做完了以后,重新关闭服务并使用新的文件取代原来的文件(也许你还需要使用期间的变更日志)。
MySQL(和PHP搭配之最佳组合)数据目录不是太难理解的。每一个MySQL数据库对应一个子目录,每个子目录中包含了对应于这个数据库中的数据表的文件。每一个数据表对应三个文件,它们和表名相同,但是具有不同的扩展名。
tblname.frm文件是表的定义,它保存了表中包含的数据列的内容和类型。tblname.myd文件包含了表中的数据。tblname.myi文件包含了表的索引(例如,它可能包含lookup表以帮助提高对表的主键列的查询)。 要检查一个表的错误,只需要运行myisamchk(在MySQL(和PHP搭配之最佳组合)的bin目录下)并提供文件的位置和表名,或者是表的索引文件名:
<ol class="dp-xml"> <li class="alt"><span><span>% myisamchk /usr/local/MySQL(和PHP搭配之最佳组合)/var/dbname/tblname </span></span></li> <li><span>% myisamchk /usr/local/MySQL(和PHP搭配之最佳组合)/var/dbname/tblname.myi </span></li> </ol>
上面的两个命令都可以执行对指定表的检查。要检查MySQL数据库中所有的表,可以使用通配符:
<ol class="dp-xml"><li class="alt"><span><span>% myisamchk /usr/local/MySQL(和PHP搭配之最佳组合)/var/dbname/*.myi </span></span></li></ol>
要检查所有MySQL数据库中的所有表,可以使用两个通配符:
<ol class="dp-xml"><li class="alt"><span><span>% myisamchk /usr/local/MySQL(和PHP搭配之最佳组合)/var/*/*.myi </span></span></li></ol>
如果不带任何选项,myisamchk将对表文件执行普通的检查。如果你对一个表有怀疑,但是普通的检查不能发现任何错误,你可以执行更彻底的检查(但是也更慢!),这需要使用--extend-check选项:
<ol class="dp-xml"><li class="alt"><span><span>% myisamchk --extend-check /path/to/tblname </span></span></li></ol>
对错误的检查是没有破坏性的,这意味着你不必担心执行对你的数据文件的检查会使已经存在的问题变得更糟。另一方面,修复选项,虽然通常也是安全的,但是它对你的数据文件的更改是无法撤消的。
因为这个原因,我们强烈推荐你试图修复一个被破坏的表文件时首先做个备份,并确保在制作这个备份之前你的MySQL(和PHP搭配之最佳组合)服务是关闭的。
我在Win2003下通过命令提示符,以上的相关内容就是对MySQL数据库中部分数据损坏恢复过程的介绍,望你能有所收获。

MySQLユーザーを追加する方法を習得することは、データベース管理者と開発者にとって重要です。これは、データベースのセキュリティとアクセス制御を保証するためです。 1)CreateUserコマンドを使用して新しいユーザーを作成し、2)付与コマンドを介してアクセス許可を割り当て、3)FlushPrivilegesを使用してアクセス許可を有効にすることを確認します。

choosecharforfixed-lengthdata、varcharforvariable-lengthdata、andtextforlargetextfields.1)chariseffienceforconsistent-lengthdatalikecodes.2)varcharsuitsvariaible-lengthdatalikenames、balancingflexibilityandperformance.3)Textisidealforforforforforforforforforforforidex

MySQLの文字列データ型とインデックスを処理するためのベストプラクティスには、次のものが含まれます。1)固定長のchar、可変長さのvarchar、大規模なテキストのテキストなどの適切な文字列タイプを選択します。 2)インデックス作成に慎重になり、インデックスを避け、一般的なクエリのインデックスを作成します。 3)プレフィックスインデックスとフルテキストインデックスを使用して、長い文字列検索を最適化します。 4)インデックスを定期的に監視および最適化して、インデックスを小さく効率的に保つ。これらの方法により、読み取りと書き込みのパフォーマンスをバランスさせ、データベースの効率を改善できます。

toaddauserremotelytomysql、フォローステープ:1)connecttomysqlasroot、2)createanewuserwithremoteaccess、3)grantniverayprivileges、and4)flushprivileges.

tostorestringseffiedlyinmysql、choosetherightdatatypebasedonyourneadss:1)usecharforfixed-lengthstringslikecountrycodes.2)usevarforvariable-lengthstringslikenames.3)usetextfor forlong-formtextcontent.4)useblobforborikedalikeimages

MySQLのBLOBおよびテキストデータ型を選択する場合、BLOBはバイナリデータの保存に適しており、テキストはテキストデータの保存に適しています。 1)BLOBは、写真やオーディオなどのバイナリデータに適しています。2)テキストは、記事やコメントなどのテキストデータに適しています。選択するときは、データプロパティとパフォーマンスの最適化を考慮する必要があります。

いいえ、Youは、usotherootuserinmysqlforyourproduct.instead、createpificusers withlimitedprivilegestoenhancesecurityandperformance:1)createanewuserwithastrongpassword、2)grantonlynlyneversearpermissionStothisuser、3)正規環境筋肉筋周辺の環境

mysqlstringdatatypesshouldbechosenbadedatacharacteristicsandusecases:1)usecharforfixed-lengthstringslikecountrycodes.2)usevarforvariable-lengthstringslikenames.3)usebinaryorvarniaryforbinarydatalikecryptograpograpogrationckeys.4)使用


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 中国語版
中国語版、とても使いやすい

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール
