時(shí)間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)
從概念上講,大多數(shù)關(guān)系數(shù)據(jù)庫系統(tǒng)都是類似的:它們都由一組數(shù)據(jù)庫組成,且每個(gè)數(shù)據(jù)庫都包含一組表。但是,所有的系統(tǒng)都有自己的管理數(shù)據(jù)的方法, mysql也不例外。
在缺省設(shè)置時(shí),由MySQL服務(wù)器mysql管理的所有數(shù)據(jù)都存儲(chǔ)在MySQL數(shù)據(jù)目錄中。所有的數(shù)據(jù)庫和提供有關(guān)服務(wù)器操作信息的狀態(tài)文件也存儲(chǔ)在那里。如果要執(zhí)行MySQL安裝的管理職責(zé),應(yīng)該熟悉數(shù)據(jù)目錄的布局和使用。
本章包括以下內(nèi)容:
怎樣確定數(shù)據(jù)目錄的位置。需要了解這一點(diǎn),以便有效地管理其內(nèi)容。
服務(wù)器怎樣組織和提供對它所管理的數(shù)據(jù)庫和表的訪問。
在哪里查找由服務(wù)器產(chǎn)生的狀態(tài)文件且文件中包含什么內(nèi)容。它們的內(nèi)容提供了關(guān)于服務(wù)器運(yùn)行的信息,如果您遇到問題,這些信息將是有用的。
如何改變數(shù)據(jù)目錄或單個(gè)數(shù)據(jù)庫的缺省布局或組織。這對于管理系統(tǒng)的磁盤資源分配是重要的─例如,通過在驅(qū)動(dòng)器中平衡磁盤的活動(dòng),或通過利用更多的可用空間將數(shù)據(jù)重定位到文件系統(tǒng)中。還可以使用這個(gè)知識(shí)來計(jì)劃新數(shù)據(jù)庫的布局。
即使不執(zhí)行任何MySQL管理職責(zé),也能通過閱讀本章的內(nèi)容而有所收獲,它決不會(huì)影響您對如何運(yùn)行服務(wù)器有更好的想法。
數(shù)據(jù)目錄的位置
缺省數(shù)據(jù)庫的位置編譯在服務(wù)器中。如果您是在一個(gè)源程序分發(fā)包中安裝MySQL,典型的缺省位置可能是/ us r / l o c a l / v a r;如果在二進(jìn)制分發(fā)包中安裝MySQL,則為/ us r / l o c a l / mysql/d a t a;在RPM 文件中安裝,為/ v a r / l i b / mysql。
數(shù)據(jù)目錄的位置可以在啟動(dòng)服務(wù)器時(shí)通過--datadir = / p a t h / to / dir 明確地指定。如果您想將數(shù)據(jù)目錄放置在其他地方而非缺省的位置,則這個(gè)選項(xiàng)是有用的。
作為一名MySQL管理員,您應(yīng)該知道數(shù)據(jù)目錄在哪里。如果運(yùn)行多個(gè)服務(wù)器,那么您應(yīng)該掌握所有數(shù)據(jù)目錄的位置。但是,如果不知道目錄的位置(或許您正在代替前一位管理員,而他留下的記錄很糟糕),有幾種方法可以用來查找它:
可使用mysqladmin 變量直接從服務(wù)器中得到數(shù)據(jù)目錄路徑名。在UNIX 中,輸出結(jié)果類似于如下所示:
該輸出結(jié)果指明了服務(wù)器主機(jī)中數(shù)據(jù)目錄的位置/ us r / l o c a l / v a r。
在Windows 中,輸出結(jié)果類似于如下所示:
如果正在運(yùn)行多個(gè)服務(wù)器,它們將監(jiān)聽不同的TCP/IP 端口號(hào)和套接字?梢酝ㄟ^提供合適的--port 或--socket 選項(xiàng)連接到每個(gè)服務(wù)器監(jiān)聽的端口和套接字上:
以下為引用的內(nèi)容:
% mysqladmin -- port=port_num variables % mysqladmin -- socket=/path/to/socket variables |
mysqladmin 命令可在您連接服務(wù)器的任何一臺(tái)主機(jī)上運(yùn)行。如果需要連接到遠(yuǎn)程主機(jī)上的服務(wù)器,則使用--host = host_name 選項(xiàng):
以下為引用的內(nèi)容:
% mysqladmin --host=host_name variables |
在Windows 中,您可以購買Windows NT 服務(wù)器,它通過使用--pipe 迫使一個(gè)指定的管道連接,并使用--socket = pipe_name 指定該管道的名稱,在該管道上進(jìn)行監(jiān)聽。
以下為引用的內(nèi)容:
c:>mysqladmin --pipe --socket=pipe_name variables |
可使用ps 來查看任何當(dāng)前執(zhí)行mysql進(jìn)程的命令行。試一試下列的命令(根據(jù)您的系統(tǒng)所支持的ps 版本)并查找顯示在輸出結(jié)果中的這些命令的- - d a t a d i r:
以下為引用的內(nèi)容:
% ps axww | grep mysqld BSD-style ps % ps -ef | grep mysqld System V-style ps |
如果系統(tǒng)運(yùn)行多個(gè)服務(wù)器(因?yàn)橐淮伟l(fā)現(xiàn)了多個(gè)數(shù)據(jù)目錄位置),則ps 命令將會(huì)特別有用。它的缺點(diǎn)是: ps 必須運(yùn)行在服務(wù)器的主機(jī)上,并且除非--datadir 選項(xiàng)在mysqld 命令行中明確指定,否則將產(chǎn)生無用的信息。
如果MySQL從源程序分發(fā)包中安裝,可以檢查其配置信息以確定數(shù)據(jù)目錄的位置。例如,在最高級(jí)的Makefile 中該位置是可用的。但是,要小心:位置是Makefile 中的變量localstatedir 的值,而不是datadir 的值。同樣,如果分發(fā)包定位在NFS 裝配文件系統(tǒng)中,并且是用于為幾個(gè)主機(jī)建立MySQL的,則配置信息反映最近建立分發(fā)包的主機(jī)。它可能不顯示您感興趣的主機(jī)的數(shù)據(jù)目錄。
如果前面的任何方法都不成功,可使用find 搜索數(shù)據(jù)庫文件。下列命令將搜索. f r m(描述)文件,它是MySQL安裝程序的組成部分:
以下為引用的內(nèi)容:
% find / -name " *.frm" -print |
在本章的這些例子中,筆者將MySQL數(shù)據(jù)目錄的位置表示為DATA D I R。您可以將其解釋成為您自己的機(jī)器中的數(shù)據(jù)目錄的位置。
關(guān)鍵詞標(biāo)簽:目錄,位置,數(shù)據(jù),入門,
相關(guān)閱讀
熱門文章 10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦MySQL常用維護(hù)管理工具Linux VPS/服務(wù)器上輕松導(dǎo)入、導(dǎo)出MySQL數(shù)據(jù)MySQL復(fù)制的概述、安裝、故障、技巧、工具
人氣排行 MySQL數(shù)據(jù)庫啟動(dòng)失敗1067進(jìn)程意外終止的解決辦法總結(jié)Mysql 1045錯(cuò)誤解決辦法10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦MySQL服務(wù)器進(jìn)程CPU占用100%解決辦法MySQL導(dǎo)出導(dǎo)入命令的用例MySQL無法啟動(dòng)、無法停止各種解決方法總結(jié)三種常用的MySQL建表語句Mysql清空表的實(shí)現(xiàn)方法