好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 如何使用myisamchk和mysqlcheck工具快速修復損壞的MySQL數據庫文件

如何使用myisamchk和mysqlcheck工具快速修復損壞的MySQL數據庫文件

熱門標簽:云南大數據外呼系統 機器人打電銷電話 400電話到哪辦理優惠 上海市三維地圖標注 電話機器人是電腦呼號嗎 怎么更改高德地圖標注 南寧外呼系統招商 鄭州網絡外呼系統價錢 博樂電銷機器人

由于服務器的數據庫硬盤空間滿了,由于大量寫入數據失敗導致了出現“Duplicate entry '' for key 'username'”的錯誤。

如果,出現這樣的mysql數據庫錯誤很可能是mysql數據庫索引出了問題。那么,什么是mysql數據庫索引?

分析:索引如果是primary unique這兩兩種,那么數據表的數據對應的這個字段就必須保證其每條記錄的唯一性。否則就會產生這個錯誤。

一般發生在對數據庫寫操作的時候,例如Discuz!4.1論壇程序要求所有會員的用戶名username必須唯一,即username 的索引是unique,這時如果強行往cdb_members表里插入一個已有的username的記錄就會發上這個錯誤,或者將一條記錄的username更新為已有的一個username。

比如某網友的dedecms網站出問題了,訪問一看,果然全屏報錯,檢查mysql日志,錯誤信息為:

Table .dedecmsv4dede_archives is marked as crashed and should be repaired

提示說cms的文章表dede_archives被標記有問題,需要修復。

于是趕快恢復歷史數據,上網查找原因。最終將問題解決。

解決方法如下:

找到mysql的安裝目錄的bin/myisamchk工具,在命令行中輸入:

myisamchk -c -r ../data/dedecmsv4/dede_archives.MYI

然后myisamchk 工具會幫助你恢復數據表的索引。重新啟動mysql,問題解決。

那么,修復mysql數據庫一般可以myisamchk工具或者mysqlcheck工具用這二種方法:

1、myisamchk工具

使用 myisamchk 必須暫時停止 MySQL 服務器。例如,我們要檢修 discuz 數據庫。執行以下操作:

# service mysql stop (停止 MySQL );

# myisamchk -r /數據庫文件的絕對路徑/*MYI

# service mysql start

myisamchk 會自動檢查并修復數據表中的索引錯誤。

2、mysqlcheck工具

使用 mysqlcheck 無需停止 MySQL ,可以進行熱修復。操作步驟如下:

# mysqlcheck -r discuz.*

# service mysql stop (停止 MySQL );

# myisamchk -r /數據庫文件的絕對路徑/*MYI

# service mysql start

myisamchk 會自動檢查并修復數據表中的索引錯誤。

注意:無論是 myisamchk 還是 mysqlcheck ,一般情況下不要使用 -f 強制修復,-f 參數會在遇到一般修復無法成功的時候刪除部分出錯數據以嘗試修復。所以,不到萬不得已不要使用 -f。

下面是其它網友的補充

檢查修復所有數據庫:

# mysqlcheck -A -o -r -p 
Enter password: 
db1  OK 
db2  OK  
db3  OK 
db4  OK 
...... 
...... 
...... 

修復指定的數據庫用 

# mysqlcheck  -o -r Database_NAME -p 

即可

命令詳解:

mysqlcheck客戶端可以檢查和修復MyISAM表。它還可以優化和分析表。
mysqlcheck的功能類似myisamchk,但其工作不同。主要差別是當mysqld服務器在運行時必須使用mysqlcheck,而myisamchk應用于服務器沒有運行時。使用mysqlcheck的好處是不需要停止服務器來檢查或修復表。
Mysqlcheck為用戶提供了一種方便的使用SQL語句CHECK TABLE、REPAIR TABLE、ANALYZE TABLE和OPTIMIZE TABLE的方式。它確定在要執行的操作中使用使用哪個語句,然后將語句發送到要執行的服務器上。
有3種方式來調用mysqlcheck:

shell> mysqlcheck[options] db_name [tables]
shell> mysqlcheck[options] ---database DB1 [DB2 DB3...]
shell> mysqlcheck[options] --all--database

如果沒有指定任何表或使用---database或--all--database選項,則檢查整個數據庫。
同其它客戶端比較,mysqlcheck有一個特殊特性。重新命名二進制可以更改檢查表的默認行為(--check)。如果你想要一個工具默認可以修復表的工具,只需要將mysqlcheck重新復制為mysqlrepair,或者使用一個符號鏈接mysqlrepair鏈接mysqlcheck。如果調用mysqlrepair,可按照命令修復表。

下面的名可用來更改mysqlcheck的默認行為:

mysqlrepair

 默認選項為--repair
 
mysqlanalyze
 默認選項為--analyze
 
mysqloptimize
 默認選項為--optimize
 
mysqlcheck支持下面的選項:
·         ---help,-?
顯示幫助消息并退出。
·         --all--database,-A
檢查所有數據庫中的所有表。與使用---database選項相同,在命令行中命名所有數據庫。
·         --all-in-1,-1
不是為每個表發出一個語句,而是為命名數據庫中待處理的所有表的每個數據庫執行一個語句。
·         --analyze,-a
分析表。
·         --auto-repair
如果某個被檢查的表破壞了,自動修復它。檢查完所有表后自動進行所有需要的修復。
·         --character-sets-dir=path
字符集的安裝目錄。參見5.10.1節,“數據和排序用字符集”。
·         --check,-c
檢查表的錯誤。
·         --check-only-changed,-C
只檢查上次檢查以來已經更改的或沒有正確關閉的表。
·         --compress
壓縮在客戶端和服務器之間發送的所有信息(如果二者均支持壓縮)。
·         ---database,-B
處理數據庫中命名的所有表。使用該選項,所有字名參量被看作數據庫名,而不是表名。
·         ---debug[=debug_options],-# [debug_options]
寫調試日志。debug_options字符串通常為'd:t:o,file_name'。
·         --default-character-set=charset
使用charsetas默認字符集。參見5.10.1節,“數據和排序用字符集”。
·         --extended,-e
如果你正使用該選項來檢查表,可以確保它們100%地一致,但需要很長的時間。
如果你正使用該選項來修復表,則運行擴展修復,不但執行的時間很長,而且還會產生大量的垃圾行! 
·         --fast,-F
只檢查沒有正確關閉的表。
·         --force,-f
即使出現SQL錯誤也繼續。
·         --host=host_name,-h host_name
連接給定主機上的MySQL服務器。
·         --medium-check,-m
執行比--extended操作更快的檢查。只能發現99.99%的錯誤,在大多數情況下這已經足夠了。
·         --optimize,-o
優化表。
·         --password[=password],-p[password]
當連接服務器時使用的密碼。如果使用短選項形式(-p),選項和 密碼之間不能有空格。如果在命令行中--password或-p選項后面沒有 密碼值,則提示輸入一個密碼。
·         --port=port_num,-P port_num
用于連接的TCP/IP端口號。
·         --protocol={TCP | SOCKET | PIPE | MEMORY} 
使用的連接協議。
·         --quick,-q
如果你正使用該選項在檢查表,它防止掃描行以檢查錯誤鏈接的檢查。這是最快的檢查方法。
如果你正使用該選項在修復表,它嘗試只修復索引樹。這是最快的修復方法。
·         --repair,-r
執行可以修復大部分問題的修復,只是唯一值不唯一時不能修復。
·         --silent,-s
沉默模式。只打印錯誤消息。
·         --socket=path,-S path
用于連接的套接字文件。
·         --tables
覆蓋---database或-B選項。選項后面的所有參量被視為表名。
·         --user=user_name,-u user_name
當連接服務器時使用的MySQL用戶名。
·         --verbose,-v
冗長模式。打印關于各階段程序操作的信息。
·         --version,-V
顯示版本信息并退出。

您可能感興趣的文章:
  • 詳解監聽MySQL的binlog日志工具分析:Canal
  • 5個MySQL GUI工具推薦,幫助你進行數據庫管理
  • 詳解MySQL監控工具 mysql-monitor
  • 關于Anemometer圖形化顯示MySQL慢日志的工具搭建及使用的詳細介紹
  • MySQL 之壓力測試工具的使用方法
  • pycharm工具連接mysql數據庫失敗問題
  • Mysql數據遷徙方法工具解析
  • MySQL數據誤刪除的快速解決方法(MySQL閃回工具)
  • ktl工具實現mysql向mysql同步數據方法
  • MySQL可視化工具Navicat的連接方法
  • 推薦幾款MySQL相關工具

標簽:恩施 定西 秦皇島 杭州 白銀 益陽 澳門 寧夏

巨人網絡通訊聲明:本文標題《如何使用myisamchk和mysqlcheck工具快速修復損壞的MySQL數據庫文件》,本文關鍵詞  如何,使用,myisamchk,和,mysqlcheck,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《如何使用myisamchk和mysqlcheck工具快速修復損壞的MySQL數據庫文件》相關的同類信息!
  • 本頁收集關于如何使用myisamchk和mysqlcheck工具快速修復損壞的MySQL數據庫文件的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 国产熟妇另类久久久久| 2021年的三片日剧免费| 亚洲精品青青草原avav久久qv| 野外露出被陌生人调教H电影| 禁宫艳史在线观看| 厨房h肉辣文| 性欧美18ⅩXOO极品图片| 人獸交GAy Zoo欧美大片男男| 91精品国产欧美一区二区成人| 性色生活片在色在线观看| 男女后λ式动态后λ式动态| 成人午夜网站| 最近中文字幕免费高清版7| 99??高潮片免费视频小水水| 96精品高清视频在线观看软件的特点 | 日文乱码| 5g影视天天5g天天爽高清在线观看| 51国偷自产一区二区三区的| 催眠校花羞涩打开双腿h| 毛片免费网站| 男人桶爽女人30分钟视频动态图| 欧美专区在线播放| 日本精品久久久久中文字幕8| 人獸交XXOO变态另类| 男朋友把舌头都伸进我的嘴巴里了| 国产毛片久久久久久国产毛片| 欧美乱码伦视频免费| 女生被男生c| 四川大学生一级A片免费播放 | 日批视频大全| 皇上在龙椅上含玉势h| 白衣校花与大长腿免费播放| 豪妇荡乳1一5潘金莲2乳仙界篇完本感言 | 三上悠亚健身房无码播放| 攻从小就想和受做H| 欧美成人做性视频在线播放| 欧美黑人又大又粗XXXⅩ东京热| 无码帝国www色情综合| 啊啊啊好大好爽视频| 午夜伦伦电影理片伦在线观看| 男女一旦睡过就会磁场改变|