程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL 數據庫規范化設計(3)

MySQL 數據庫規范化設計(3)

編輯:關於MYSQL數據庫
   提示:建立一個數據庫表維護規范 在一個定期基礎而非等到問題出現才實施數據庫表的檢查是一個好主意。應該考慮到建立一個預防性維護的時間表,以協助自動問題,是你可以采取措施進行修正: 執行常規的數據庫備份並允許更新日志。 安排定期的常規表檢查。通過檢查表,將減少使

 

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

  在系統啟動期間檢查表

  如果你使用的是BSD風格的系統,例如OpenBSD,FreeBSD等,並且已經將服務器的啟動命令增加到/etc/rc.local,要在啟動期間檢查表,可以在啟動服務器前從相應的文件中調用check_tables。

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

  例如,象這樣編寫腳本,取名MySQL.check當參數時start時調用check_tables,當參數是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
 
  現在你可以安裝mysql.check了,該過程類似乎在第二章介紹的讓服務器自動啟動的安裝mysql.server的過程。必須給mysql.check一個運行級目錄中較低的前綴號,才能使它在mysql.server前運行。例如,如果在運行級目錄中以S99mysql.server連接到mysql.server,則應該以S98mysql.check鏈接到MySQL.check。

  由於Linux集中了BSD和Sytem V系統的優點,所以,上面兩種方法完全適用於Linux。為了簡便起見,一般使用第一個方法。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved