程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MYSQL數據表破壞的緣由剖析和修復辦法小結(推舉)

MYSQL數據表破壞的緣由剖析和修復辦法小結(推舉)

編輯:MySQL綜合教程

MYSQL數據表破壞的緣由剖析和修復辦法小結(推舉)。本站提示廣大學習愛好者:(MYSQL數據表破壞的緣由剖析和修復辦法小結(推舉))文章只能為提供參考,不一定能成為您想要的結果。以下是MYSQL數據表破壞的緣由剖析和修復辦法小結(推舉)正文


獲得Url的辦法有兩種,經由過程後台取得或經由過程後面js取得,以下:

1、經由過程C#獲得以後頁面的URL

string url = Request.Url.AbsoluteUri; //成果: http://www.jb51.net/web/index.aspx
string host = Request.Url.Host; //成果:www.jb51.net
string rawUrl = Request.RawUrl; //成果:/web/index.aspx
string localPath = Request.Url.LocalPath; //成果:/web/index.aspx

2、經由過程Javascript獲得以後頁面的URL

var url = document.URL; //成果:http://www.jb51.net/web/index.aspx
var href = document.location.href; //成果:http://www.jb51.net/web/index.aspx
var host = location.hostname; //成果:www.jb51.net

以上就是小編為年夜家帶來的在asp.net中獲得以後頁面的URL的辦法(推舉)的全體內容了,願望對年夜家有所贊助,多多支撐~

mysql 表破壞:
1 、按期應用myisamchk 檢討MyISAM 表(留意要封閉mysqld ),推舉應用check table 來檢討表(不消封閉mysqld )。
2 、在做過年夜量的更新或刪除操作後,推舉應用OPTIMIZE TABLE 來優化表,如許既削減了文件碎片,又削減了表破壞的幾率。
3 、封閉辦事器前,先封閉mysqld (正常封閉辦事,不要應用kill -9 來殺過程)。
4 、應用ups 電源,防止湧現忽然斷電的情形。
5 、應用最新的穩固宣布版mysql ,削減mysql 自己的bug 招致表破壞。
6 、關於InnoDB 引擎,你可使用innodb_tablespace_monitor 來檢討表空間文件內文件空間治理的完全性。
7 、對磁盤做raid ,削減磁盤失足並進步機能。
8 、數據庫辦事器最好只跑mysqld 和需要的其他辦事,不要跑其他營業辦事,如許削減逝世機招致表破壞的能夠。
9 、不怕萬一,只怕不測,日常平凡做好備份是預防表破壞的有用手腕。
4.MySQL 表破壞的修復
MyISAM 表可以采取以下步調停止修復 :
1、 應用 reapair table 或myisamchk 來修復。
2、 假如下面的辦法修復有效,采取備份恢復表。
詳細可以參考以下做法:
階段1 :檢討你的表
假如你有許多時光,運轉myisamchk *.MYI 或myisamchk -e *.MYI 。應用-s (緘默)選項制止不用要的信息。
假如mysqld 辦事器處於宕機狀況,應應用--update-state 選項來告知myisamchk 將表標志為' 檢討過的' 。
你必需只修復那些myisamchk 申報有毛病的表。對如許的表,持續到階段2 。
假如在檢討時,你獲得奇異的毛病( 例如out of memory 毛病) ,或假如myisamchk 瓦解,到階段3 。
階段2 :簡略平安的修復
正文:假如想更快地停止修復,當運轉myisamchk 時,你應將sort_buffer_size 和Key_buffer_size 變量的值設置為可用內存的年夜約25% 。
起首,嘗嘗myisamchk -r -q tbl_name(-r -q 意味著“ 疾速恢復形式”) 。這將試圖不接觸數據文件來修復索引文件。假如數據文件包括它應有的一切內容和指向數據文件內准確所在的刪除銜接,這應當管用而且表可被修復。開端修復下一張表。不然,履行以下進程:
在持續前對數據文件停止備份。
應用myisamchk -r tbl_name(-r 意味著“ 恢復形式”) 。這將從數據文件中刪除不准確的記載和已被刪除的記載偏重建索引文件。
假如後面的步調掉敗,應用myisamchk --safe-recover tbl_name 。平安恢復形式應用一個老的恢復辦法,處置慣例恢復形式不可的多數情形( 然則更慢) 。
假如在修復時,你獲得奇異的毛病( 例如out of memory 毛病) ,或假如myisamchk 瓦解,到階段3 。
階段3 :艱苦的修復
只要在索引文件的第一個16K 塊被損壞,或包括不准確的信息,或假如索引文件喪失,你才應當到這個階段。在這類情形下,須要創立一個新的索引文件。按以下步調操做:
把數據文件移到平安的處所。
應用表描寫文件創立新的( 空) 數據文件和索引文件:

shell> mysql db_name
mysql> SET AUTOCOMMIT=1;
mysql> TRUNCATE TABLE tbl_name;
mysql> quit

假如你的MySQL 版本沒有TRUNCATE TABLE ,則應用DELETE FROM tbl_name 。
將老的數據文件拷貝到新創立的數據文件當中。(不要只是將老文件移回新文件當中;你要保存一個正本以防某些器械失足。)
回到階段2 。如今myisamchk -r -q 應當任務了。(這不該該是一個無窮輪回)。
你還可使用REPAIR TABLE tbl_name USE_FRM ,將主動履行全部法式。
階段4 :異常艱苦的修復
只要.frm 描寫文件也損壞了,你才應當達到這個階段。這應當從未產生過,由於在表被創立今後,描寫文件就不再轉變了。
從一個備份恢復描寫文件然後回到階段3 。你也能夠恢復索引文件然後回到階段2 。對後者,你應當用myisamchk -r 啟動。
假如你沒有停止備份然則確實地曉得表是如何創立的,在另外一個數據庫中創立表的一個拷貝。刪除新的數據文件,然後從其他數據庫將描寫文件和索引文件移到損壞的數據庫中。如許供給了新的描寫和索引文件,然則讓.MYD 數據文件單獨留上去了。回到階段2 而且測驗考試重建索引文件。
InnoDB 表可以采取上面的辦法修復:
假如數據庫頁被損壞,你能夠想要用SELECT INTO OUTFILE 從從數據庫轉儲你的表,平日以這類辦法獲得的年夜多半數據是無缺的。即便如許,破壞能夠招致SELECT * FROM tbl_name 或許InnoDB 後台操作瓦解或斷言,或許乃至使得InnoDB 前滾恢復瓦解。 雖然如斯,你可以用它來強迫InnoDB 存儲引擎啟動同時阻攔後台操作運轉,以便你能轉儲你的表。例如:你可以在重啟辦事器之前,在選項文件的[mysqld] 節添加以下的行:
[mysqld]innodb_force_recovery = 4innodb_force_recovery 被許可的非零值以下。一個更年夜的數字包括一切更小數字的預防辦法。假如你可以或許用一個多半是4 的選項值來轉儲你的表,那末你是比擬平安的,只要一些在破壞的零丁頁面上的數據會喪失。一個為6 的值更誇大,由於數據庫頁被留在一個陳腐的狀況,這個狀況反過去可以激發對B 樹和其它數據庫構造的更多損壞。
1 (SRV_FORCE_IGNORE_CORRUPT)
即便辦事器檢測到一個破壞的頁,也讓辦事器運轉著;試著讓SELECT * FROM tbl_name 跳過破壞的索引記載和頁,如許有助於轉儲表。
2 (SRV_FORCE_NO_BACKGROUND)
阻攔主線程運轉,假如瓦解能夠在污染操作進程中產生,這將阻攔它。
3 (SRV_FORCE_NO_TRX_UNDO)
恢復後不運轉事務回滾。
4 (SRV_FORCE_NO_IBUF_MERGE)
也阻攔拔出緩沖歸並操作。假如你能夠會招致一個瓦解。最好不要做這些操作,不要盤算表統計表。
5 (SRV_FORCE_NO_UNDO_LOG_SCAN)
啟動數據庫之時不檢查未完成日記:InnoDB 把未完成的事務視為已提交的。
6 (SRV_FORCE_NO_LOG_REDO)
不要在恢復銜接中做日記前滾。
數據庫不克不及別的地帶著這些選項中被許可的選項來應用。作為一個平安辦法,當innodb_force_recovery 被設置為年夜於0 的值時,InnoDB 阻攔用戶履行INSERT, UPDATE 或DELETE 操作.
即便強迫恢復被應用,你也能夠DROP 或CREATE 表。假如你曉得一個給定的表正在招致回滾瓦解,你可以移除它。你也能夠用這個來停滯由掉敗的年夜宗導入或掉敗的ALTER TABLE 招致的掉控回滾。你可以殺失落mysqld 過程,然後設置innodb_force_recovery 為3 ,使得數據庫被掛起而不須要回滾,然後捨棄招致掉控回滾的表。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved