日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
建立MySQL數(shù)據(jù)庫日常維護規(guī)范

相關文章:

創(chuàng)新互聯(lián)公司歡迎來電:13518219792,為您提供成都網(wǎng)站建設網(wǎng)頁設計及定制高端網(wǎng)站建設服務,創(chuàng)新互聯(lián)公司網(wǎng)頁制作領域10年,包括成都加固等多個行業(yè)擁有多年的網(wǎng)站設計經(jīng)驗,選擇創(chuàng)新互聯(lián)公司,為企業(yè)錦上添花!

如何進行MySQL數(shù)據(jù)庫表的故障檢測

如何修復MySQL數(shù)據(jù)庫表

如何對MySQL數(shù)據(jù)庫表進行鎖定

如何對MySQL數(shù)據(jù)庫日志文件進行維護

建立一個數(shù)據(jù)庫表維護規(guī)范

在一個定期基礎而非等到問題出現(xiàn)才實施數(shù)據(jù)庫表的檢查是一個好主意。應該考慮到建立一個預防性維護的時間表,以協(xié)助自動問題,是你可以采取措施進行修正:

執(zhí)行常規(guī)的數(shù)據(jù)庫備份并允許更新日志。

安排定期的常規(guī)表檢查。通過檢查表,將減少使用備份的機會。這個工作,在Windows下使用計劃任務,Unix使用cron作業(yè)(一般從運行服務器所示用的該帳號的crontab文件中調(diào)用),并且很容易實現(xiàn)。

例如,你作為mysql用戶運行服務器,則可以從mysql的crontab文件中建立定期檢查。如果你不知道如何使用cron,應使用下列命令查看相關的Unix手冊頁:

$man cron
$man crontab

作為服務器啟動前的系統(tǒng)引導期間檢查數(shù)據(jù)庫表。及其可能會因早期的崩潰而重新啟動。如果這樣的花,數(shù)據(jù)庫表可能已被毀壞,應該對它進行徹底檢查。

創(chuàng)建一個適用于定期維護的腳本

為了運行自動的表檢查,可以編寫一個腳本,將目錄改變?yōu)榉掌鲾?shù)據(jù)目錄并對所有的數(shù)據(jù)庫表進行myisamchk和isamchk。如果你只有MyISAM表或者只有ISAM表,則只需要其中一個程序,可以將無關的那個程序從腳本中注釋掉。

該教本可以被cron調(diào)用,或者在系統(tǒng)啟動期間被調(diào)用。

為維護目的,你能使用myisamchk -s檢查桌子。-s,--silent選項使myisamchk和isamchk以沉默模式運行,只有當錯誤出現(xiàn)時,才僅僅打印消息。另外myisamchk支持--fast選項,該選項允許程序跳過自上次檢查以來沒有被修改過的人和表。

1. 一個簡單的腳本

例如,一個較為容易理解的簡單腳本,它在服務器目錄中檢查所有表(DATADIR應該修改成對應你系統(tǒng)的合適的值):

#!/bin/sh
cd DATADIR
myisamchk  --silent  --fast  */*.MYI
isamchk  --silent  */*.ISM

2. 一個較為復雜的腳本

實用此腳本的一個潛在的問題時:如果有許多表,通配符模式‘*/*.MYI’和‘*/*.ISM’可能會由于“too many arguments(參數(shù)過多)”或者命令行超過shell允許的長度而無法使用。腳本可以進一步修改為(同樣,DATADIR修改為適合你系統(tǒng)上的值):

#!/bin/sh
datadir=DATADIR
find $dtatdir –name “*. MYI” -print | xargs myisamchk  --silent  --fast
find $dtatdir –name “*. ISM” -print | xargs isamchk  --silent

當然你也可以在腳本中指定多個數(shù)據(jù)庫目錄。

3. 如何執(zhí)行腳本

假定你將腳本存為check_tables,應該確保它是可執(zhí)行的,當然建議你首先切換到專用戶mysql:

$su mysql
$vi check_tables(編輯腳本,你也可以使用你喜歡的編輯器)
$chmod +x check_tables

手工執(zhí)行,檢測你的腳本是否有錯誤:

$check_tables

在理想情況下應該沒有輸出結(jié)果。如果系統(tǒng)不支持外部鎖定,游客蒽那個服務器將在你檢查表時改變它。此時,腳本可能會把實際沒有問題的表報告呈有問題的。如果系統(tǒng)能夠支持外部鎖定,則該問題就不會出現(xiàn)。

#p#

在unix中用cron定期檢查表

以下將說明如何建立腳本,使它通過cron并在系統(tǒng)啟動期間執(zhí)行。在這小節(jié)的例子中,筆者假定把腳本安裝在/usr/local/mysql/bin中,你需要修改該過程來檢查每個服務器數(shù)據(jù)目錄中的表。你可以使用不同的check_tables拷貝來進行,或者通過修改它來接受一個命令行參數(shù)進行,該參數(shù)指定了想要檢查的數(shù)據(jù)目錄。

假定對mysql用戶從crontab文件中調(diào)用腳本check_tables。

1. 首先用該用戶的身份注冊

$su mysql

2. 生成一個臨時文件,捕獲已經(jīng)調(diào)度的任務

$crontab –l>/tmp/entries

3. 在生成的文件最后一行添加內(nèi)容

把這一行0 0 * * 0  /usr/local/mysql/bin/check_tables加到臨時文件的最后一行:

$echo  “0  0  *  *  0  /usr/local/mysql/bin/check_tables” >>/tmp/entries

它告訴cron在每個星期日的凌晨0時運行此選項??梢园匆蟾淖儠r間或安排。有關這些選項的格式,參閱crontab的手冊頁。

4. 重新安排調(diào)度

$crontab /tmp/entries

如果檢查后有任何信息,cron作業(yè)通常生成一個郵件消息給用戶。由于使用--silent選項,只有表存在錯誤時,才會有輸出,也才會有郵件信息,因此不會產(chǎn)生大量無用郵件信息。(你現(xiàn)在應該明白,腳本采用--silent選項的原因)

對于這樣定期的維護,你的服務器最好支持外部鎖定,這樣在檢查表時,就不會發(fā)生訪問沖突的情況。如果無法做到這一點,你最好在沒有用戶使用服務器的時候維護,例如凌晨。

在系統(tǒng)啟動期間檢查表

如果你使用的是BSD風格的系統(tǒng),例如OpenBSD,F(xiàn)reeBSD等,并且已經(jīng)將服務器的啟動命令增加到/etc/rc.local,要在啟動期間檢查表,可以在啟動服務器前從相應的文件中調(diào)用check_tables。

如果對于使用Sytem V風格的啟動方法的系統(tǒng),例如,大多數(shù)的商業(yè)Unix系統(tǒng),其啟動方法是從/etc/rc.d目錄之一調(diào)用mysql.server腳本,則在數(shù)據(jù)庫啟動前檢查表的過程比較復雜,因為這些目錄中的腳本必須理解start和stop參數(shù)。

例如,象這樣編寫腳本,取名mysql.check當參數(shù)時start時調(diào)用check_tables,當參數(shù)是stop時什么也不做:

#!/bin/sh
#See hou we sere called
case  “$1”  in
  start)
    echo –n “Checking MySQL tables:”
    if  [ -x /usr/local/mysql/bin/check_tables ] ; then
      /usr/local/mysql/bin/ check_tables
    fi
    ;;
  stop)
    #don’t do anything
    ;;
  *)
    echo “Usage:$o{start|stop}”
    exit 1
  esac
  exit 0

現(xiàn)在你可以安裝mysql.check了,該過程類似乎在第二章介紹的讓服務器自動啟動的安裝mysql.server的過程。必須給mysql.check一個運行級目錄中較低的前綴號,才能使它在mysql.server前運行。例如,如果在運行級目錄中以S99mysql.server連接到mysql.server,則應該以S98mysql.check鏈接到mysql.check。

由于Linux集中了BSD和Sytem V系統(tǒng)的優(yōu)點,所以,上面兩種方法完全適用于Linux。為了簡便起見,一般使用第一個方法。


當前名稱:建立MySQL數(shù)據(jù)庫日常維護規(guī)范
標題來源:http://m.5511xx.com/article/djhpdhh.html