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

管理你的 My Sql

編輯:關於MYSQL數據庫
上面的命令啟動MySQL服務,並告訴它在服務器的數據目錄下(如果你依照第一章中指導配置你的服務器的話,這個目錄將是/usr/local/MySQL/var)建立名為update.001、update.002……的文件。一個新的這樣的文件將在服務器每一次刷新它的日志文件時被建立(通常,這是指服務每一次重啟動時)。如果你想將你的變更日志存儲到另一個地方(通常這是一個好主意--如果包含你的數據目錄的磁盤出了問題,你肯定不能指望它還能好好保存你的備份!),你可以指定變更日志的路徑。   

  但是,如果你的MySQL服務器是不間斷地工作的,在啟動MySQL服務時你也許還需要一些系統配置。在這種情況下,增加一個命令行選擇可能變得很困難。建立變更日志的另一個簡單的方法是在MySQL配置文件中增加相應的選項。   

  如果你還不清楚"什麼是MySQL配置文件",不要擔心。事實上,在此之前,我們一直沒用到過這樣的配置文件。要建立這個文件,以我們在第一章中建立的MySQL用戶(如果你是完全根據指導做的,這應該是mysqlusr)登錄到Linux。使用你習慣的文本編輯器,在你的MySQL數據目錄下(除非你選擇了其它地方安裝MySQL,這應該是指/usr/local/MySQL/var)建立一個名為my.cnf的文件。在這個文件中,輸入下面一行:

  [mysqld]log-update=/usr/backups/MySQL/update   

  當然,你可以自由地指定你的日志文件所寫入的位置。保存這個文件並重啟你的MySQL服務。從現在開始,MySQL服務運行的情況將和你在命令行中使用了--log-update選項一樣。   

  很明顯,對於一個服務來說,變更日志可能占用大量的空間。因為這個原因以及MySQL不能自動地在建立新的日志文件刪除舊的日志文件,你需要自己管理你的變更日志文件。例如,下面的Unix shell腳本,會刪除所有一星期以前更改的變更日志文件,然後通知MySQL刷新它的日志文件。

  #! /bin/sh

  find /usr/backups/MySQL/ -name "update.[0-9]*"

  -type f -mtime +6   xargs rm -f

  /usr/local/mysql/bin/MySQLadmin -u root

  -ppassWord flush-logs   

  如果當前的日志文件被刪除,最後一步(刷新日志文件)將建立一個新的變更日志,這意味著MySQL服務一直在線,而且在過去的一周中,沒有收到任何改變數據庫內容的查詢。   

  如果你是一個有經驗的用戶,使用“時鐘守護程序”設置一個腳本來定期(比方說,每周一次)執行數據庫的備份並刪除舊的變更日志應該是相當簡單的。如果你還需要一點幫助,請教你當地的Unix權威。'MySQL' by Paul DuBois中的MySQL管理一章中對設置這樣的一個系統也有詳細的指南。   

  假定你已經有了一個備份以及在此之後的變更日志的一個拷貝,恢復你的數據庫將是非常簡單的。在建立一個空數據庫後應用我們在上一節中討論的方法導入備份,然後使用帶--one-database命令行選項的MySQL命令導入變更日志。這會指示服務器僅僅運行變更日志中與我們想要恢復的數據庫(在這個例子中是指dbname)相關的查詢:

  % MySQL -u root -ppassWord --one-database dbname < update.100

  % MySQL -u root -ppassWord --one-database dbname < update.102

  ...   

  MySQL訪問控制

  在這個教程的早些時候,我們曾經提到一個叫做mysql的數據庫,在每一個MySQL服務中都包含這個數據庫,它是用來保存用戶的相關信息、他們的口令以及他們的權限的。但是,在此之前,我們一直使用root用戶登錄到MySQL服務,這個用戶可以訪問所有的數據庫和數據表。   

  如果你的MySQL服務僅僅被通過PHP訪問,而用你對於將root用戶的口令告訴什麼人很小心,那麼root帳號可能已經足夠了。但是,如果一個MySQL服務是被許多人共享的,(例如,一個Web主機希望對它的每一個用戶提供同一個MySQL服務),為不同的用戶設置相應的訪問權限就顯得很重要了。  

  在MySQL參考手冊的第六章中詳細介紹了MySQL的訪問控制系統。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved