從概念上講,大多數關係資料庫系統都是類似的:它們都由一組資料庫組成,且每個資料庫都包含一組表。但是,所有的系統都有自己的管理資料的方法,
mysql也不例外。
在預設設定時,由
mysql伺服器
mysql管理的所有資料都儲存在
mysql
資料目錄中。所有的資料庫和提供有關伺服器操作資訊的狀態檔案也儲存在那裡。如果要執行
mysql安裝的管理職責,應該熟悉
資料目錄的布局和使用。
本章包括以下內容:
怎樣確定
資料目錄的
位置。需要了解庖壞悖員閿行?꾧०??�br> 伺服器怎樣組織和提供對它所管理的資料庫和表的訪問。
在**查詢由伺服器產生的狀態檔案且檔案中包含什麼內容。它們的內容提供了關於伺服器執行的資訊,如果您遇到問題,這些資訊將是有用的。
如何改變
資料目錄或單個資料庫的預設布局或組織。這對於管理系統的磁碟資源分配是重要的─例如,通過在驅動器中平衡磁碟的活動,或通過利用更多的可用空間將資料重定位到檔案系統中。還可以使用這個知識來計畫新資料庫的布局。
即使不執行任何
mysql管理職責,也能通過閱讀本章的內容而有所收穫,它決不會影響您對如何執行伺服器有更好的想法。
資料目錄的位置
預設資料庫的位置編譯在伺服器中。如果您是在乙個源程式分發包中安裝mysql,典型的預設位置可能是/ us r / l o c a l / v a r;如果在二進位制分發包中安裝mysql,則為/ us r / l o c a l / mysql/d a t a;在rpm 檔案中安裝,為/ v a r / l i b / mysql。
資料目錄的位置可以在啟動伺服器時通過--datadir = / p a t h / to / dir 明確地指定。如果您想將資料目錄放置在其他地方而非預設的位置,則這個選項是有用的。
作為一名mysql管理員,您應該知道資料目錄在**。如果執行多個伺服器,那麼您應該掌握所有資料目錄的位置。但是,如果不知道目錄的位置(或許您正在代替前一位管理員,而他留下的記錄很糟糕),有幾種方法可以用來查詢它:
可使用mysqladmin 變數直接從伺服器中得到資料目錄路徑名。在unix 中,輸出結果類似於如下所示:
該輸出結果指明了伺服器主機中資料目錄的位置/ us r / l o c a l / v a r。
在windows 中,輸出結果類似於如下所示:
如果正在執行多個伺服器,它們將監聽不同的tcp/ip 埠號和套接字。可以通過提供合適的--port 或--socket 選項連線到每個伺服器監聽的埠和套接字上:
% mysqladmin -- port=port_num variables
% mysqladmin -- socket=/path/to/socket variables
mysqladmin 命令可在您連線伺服器的任何一台主機上執行。如果需要連線到遠端主機上的伺服器,則使用--host = host_name 選項:
% mysqladmin --host=host_name variables
在windows 中,您可以購買windows nt 伺服器,它通過使用--pipe 迫使乙個指定的管道連線,並使用--socket = pipe_name 指定該管道的名稱,在該管道上進行監聽。
c:/>mysqladmin --pipe --socket=pipe_name variables
可使用ps 來檢視任何當前執行mysql程序的命令列。試一試下列的命令(根據您的系統所支援的ps 版本)並查詢顯示在輸出結果中的這些命令的- - d a t a d i r:
% ps axww | grep mysqld bsd-style ps
% ps -ef | grep mysqld system v-style ps
如果系統執行多個伺服器(因為一次發現了多個資料目錄
位置),則ps 命令將會特別有用。它的缺點是: ps 必須執行在伺服器的主機上,並且除非--datadir 選項在mysqld 命令列中明確指定,否則將產生無用的資訊。
如果mysql從源程式分發包中安裝,可以檢查其配置資訊以確定資料目錄的位置。例如,在最高端的makefile 中該位置是可用的。但是,要小心:位置是makefile 中的變數localstatedir 的值,而不是datadir 的值。同樣,如果分發包定位在nfs 裝配檔案系統中,並且是用於為幾個主機建立mysql的,則配置資訊反映最近建立分發包的主機。它可能不顯示您感興趣的主機的資料目錄。
如果前面的任何方法都不成功,可使用find 搜尋資料庫檔案。下列命令將搜尋. f r m(描述)檔案,它是mysql安裝程式的組成部分:
% find / -name " *.frm" -print
在本章的這些例子中,筆者將mysql
資料目錄的位置表示為data d i r。您可以將其解釋成為您自己的機器中的資料目錄的位置。
MySQL資料目錄的位置
mysql資料目錄的位置 從概念上講,大多數關係資料庫系統都是類似的 它們都由一組資料庫組成,且每個資料庫都包含一組表。但是,所有的系統都有自己的管理資料的方法,mysql也不例外。在預設設定時,由mysql伺服器mysql管理的所有資料都儲存在mysql資料目錄中。所有的資料庫和提供有關伺服器操作...
mysql 更改目錄位置
裝載 很多時候,mysql的資料會非常大,資料預設放在 var lib mysql,由於 var所劃分的空間不夠大,所以我們需要將mysql資料存放路徑修改一下,放到大分割槽裡面,以便可以應付mysql資料增長。1.設定新的存放路徑 mkdir p data mysql 2.複製原有資料 cp r ...
更改MySQL資料檔案目錄位置
注意軟連線建立時的mysql目錄也必須是mysql mysql的屬主 linux 下安裝的rpm包,mysql預設的資料檔案儲存目錄為 var lib mysql 假如要把目錄移到 home data下需要進行下面幾步 1 home目錄下建立data目錄 cd home mkdir data 2 停...