從概念上講,大多
數(shù)關(guān)系數(shù)據(jù)庫系統(tǒng)是相似的:它們有一系列數(shù)據(jù)庫組成,每個數(shù)據(jù)庫包含一系列數(shù)據(jù)庫表,但每個系統(tǒng)有各自組織其管理的數(shù)據(jù)方式,MySQL也不例外。
缺省地,所有由MySQL服務(wù)器mysqld管理的數(shù)據(jù)存儲在一個稱為MySQL數(shù)據(jù)目錄的地方,所有數(shù)據(jù)庫都存放在哪兒,也包括提供服務(wù)器操作信息的狀態(tài)文件。如果你對一個MySQl安裝執(zhí)行管理任務(wù),你應(yīng)該熟知數(shù)據(jù)目錄的布局及用途。
本文介紹下列專題:
如何確定數(shù)據(jù)目錄的位置。
服務(wù)器如何組織并提供對數(shù)據(jù)庫和它管理的表的訪問。
在哪里找到由服務(wù)器生成的狀態(tài)文件記憶它們包含什么內(nèi)容。
如何改變?nèi)笔〉攸c或數(shù)據(jù)目錄或單獨數(shù)據(jù)庫的組織結(jié)構(gòu)。
1、數(shù)據(jù)目錄的位置
一個缺省數(shù)據(jù)目錄被編譯進(jìn)了服務(wù)器,如果你從一個源代碼分發(fā)安裝MySQL,典型的缺省目錄為/usr/local/var,如果從RPM文件安裝則為/var/lib/mysql,如果從一個二進(jìn)制分發(fā)安裝則是/usr/local/mysql/data。
在你啟動服務(wù)器,通過使用一個--datadir=/path/to/dir選項可以明確指定數(shù)據(jù)目錄位置。如果你想把數(shù)據(jù)目錄置于其它缺省位置外的某處,這很有用。
作為一名MySQL管理員,你應(yīng)該知道你的數(shù)據(jù)目錄在哪里。如果你運行多個服務(wù)器,你應(yīng)該是到所有數(shù)據(jù)目錄在哪里,但是如果你不知道確切的位置,由多種方法找到它:
使用mysqladmin variables從你的服務(wù)器直接獲得數(shù)據(jù)目錄路徑名。查找datadir變量的值,在Unix上,其輸出類似于:
%mysqladmin variables
+----------------------+----------------------+
| variable_name | Value |
+----------------------+----------------------+
| back_log | 5 |
| connect_timeout | 5 |
| basedir | /var/local/ |
| datadir | /usr/local/var/ |
....
在Windows上,輸出可能看上去像這樣:
c:\\\\mysqladmin variables
+----------------------+----------------------+
| variable_name | Value |
+----------------------+----------------------+
| back_log | 5 |
| connect_timeout | 5 |
| basedir | c:\\\\mysql\\\\ |
| datadir | c:\\\\mysql\\\\data\\\\ |
....
如果你有多個服務(wù)器在運行,它們將在不同的TCP/IP端口或套接字上監(jiān)聽,通過提供連接服務(wù)器正在監(jiān)聽的端口或套接字的--port或--socket選項,你可以輪流獲得它們每一個的數(shù)據(jù)目錄信息:
數(shù)關(guān)系數(shù)據(jù)庫系統(tǒng)是相似的:它們有一系列數(shù)據(jù)庫組成,每個數(shù)據(jù)庫包含一系列數(shù)據(jù)庫表,但每個系統(tǒng)有各自組織其管理的數(shù)據(jù)方式,MySQL也不例外。
缺省地,所有由MySQL服務(wù)器mysqld管理的數(shù)據(jù)存儲在一個稱為MySQL數(shù)據(jù)目錄的地方,所有數(shù)據(jù)庫都存放在哪兒,也包括提供服務(wù)器操作信息的狀態(tài)文件。如果你對一個MySQl安裝執(zhí)行管理任務(wù),你應(yīng)該熟知數(shù)據(jù)目錄的布局及用途。
本文介紹下列專題:
如何確定數(shù)據(jù)目錄的位置。
服務(wù)器如何組織并提供對數(shù)據(jù)庫和它管理的表的訪問。
在哪里找到由服務(wù)器生成的狀態(tài)文件記憶它們包含什么內(nèi)容。
如何改變?nèi)笔〉攸c或數(shù)據(jù)目錄或單獨數(shù)據(jù)庫的組織結(jié)構(gòu)。
1、數(shù)據(jù)目錄的位置
一個缺省數(shù)據(jù)目錄被編譯進(jìn)了服務(wù)器,如果你從一個源代碼分發(fā)安裝MySQL,典型的缺省目錄為/usr/local/var,如果從RPM文件安裝則為/var/lib/mysql,如果從一個二進(jìn)制分發(fā)安裝則是/usr/local/mysql/data。
在你啟動服務(wù)器,通過使用一個--datadir=/path/to/dir選項可以明確指定數(shù)據(jù)目錄位置。如果你想把數(shù)據(jù)目錄置于其它缺省位置外的某處,這很有用。
作為一名MySQL管理員,你應(yīng)該知道你的數(shù)據(jù)目錄在哪里。如果你運行多個服務(wù)器,你應(yīng)該是到所有數(shù)據(jù)目錄在哪里,但是如果你不知道確切的位置,由多種方法找到它:
使用mysqladmin variables從你的服務(wù)器直接獲得數(shù)據(jù)目錄路徑名。查找datadir變量的值,在Unix上,其輸出類似于:
%mysqladmin variables
+----------------------+----------------------+
| variable_name | Value |
+----------------------+----------------------+
| back_log | 5 |
| connect_timeout | 5 |
| basedir | /var/local/ |
| datadir | /usr/local/var/ |
....
在Windows上,輸出可能看上去像這樣:
c:\\\\mysqladmin variables
+----------------------+----------------------+
| variable_name | Value |
+----------------------+----------------------+
| back_log | 5 |
| connect_timeout | 5 |
| basedir | c:\\\\mysql\\\\ |
| datadir | c:\\\\mysql\\\\data\\\\ |
....
如果你有多個服務(wù)器在運行,它們將在不同的TCP/IP端口或套接字上監(jiān)聽,通過提供連接服務(wù)器正在監(jiān)聽的端口或套接字的--port或--socket選項,你可以輪流獲得它們每一個的數(shù)據(jù)目錄信息: