MySQL數(shù)據(jù)庫(kù)目錄結(jié)構(gòu)及常用命令的使用總結(jié)篇
本文我們總結(jié)了一些MySQL數(shù)據(jù)庫(kù)的目錄結(jié)構(gòu)方面的知識(shí)以及一些常用的MySQL命令的使用及其注意事項(xiàng),接下來(lái)我們就開(kāi)始一一介紹。
一、 數(shù)據(jù)目錄的位置
這是默認(rèn)的mysql目錄結(jié)構(gòu):
bin info libexec share var
include lib man sql-bench
一個(gè)缺省數(shù)據(jù)目錄被編譯進(jìn)了服務(wù)器,如果你從一個(gè)源代碼分發(fā)安裝MySQL,典型的缺省目錄為/usr/local/var,如果從RPM文件安裝則為/var/lib/mysql,如果從一個(gè)二進(jìn)制分發(fā)安裝則是/usr/local/mysql/data。
作為一名MySQL管理員,你應(yīng)該知道你的數(shù)據(jù)目錄在哪里。如果你運(yùn)行多個(gè)服務(wù)器,你應(yīng)該是到所有數(shù)據(jù)目錄在哪里,但是如果你不知道確切的位置,由多種方法找到它:
1、使用mysqladmin variables從你的服務(wù)器直接獲得數(shù)據(jù)目錄路徑名。查找datadir變量的值,在Unix上,其輸出類似于:
- %mysqladmin -u username -p'*****' variables
- +----------------------+----------------------+
- | variable_name | Value |
- +----------------------+----------------------+
- | back_log | 5 |
- | connect_timeout | 5 |
- | basedir | /var/local/ |
- | datadir | /usr/local/var/ |
- ....
2、查找mysql運(yùn)行的路徑
- %ps -ef | grep mysqld
二、數(shù)據(jù)目錄結(jié)構(gòu)
每個(gè)數(shù)據(jù)庫(kù)對(duì)應(yīng)于數(shù)據(jù)目錄下的一個(gè)目錄。在一個(gè)數(shù)據(jù)庫(kù)中的表對(duì)應(yīng)于數(shù)據(jù)目錄下的文件。數(shù)據(jù)目錄也包含由服務(wù)器產(chǎn)生的幾個(gè)狀態(tài)文件,如日志文件。這些文件提供了關(guān)于服務(wù)器操作的重要信息。對(duì)管理特別在出了問(wèn)題而試圖確定問(wèn)題原因時(shí)很有價(jià)值。
1、數(shù)據(jù)庫(kù)表的表示:
數(shù)據(jù)庫(kù)目錄中有3種文件:一個(gè)樣式(描述文件)、一個(gè)數(shù)據(jù)文件和一個(gè)索引文件。每個(gè)文件的基本名是表名,文件名擴(kuò)展名代表文件類型。擴(kuò)展名如下表。數(shù)據(jù)和索引文件的擴(kuò)展名指出表使用老式IASM索引或新式MyISAM索引。
2、MySQL文件類型:
文件類型 文件名擴(kuò)展名 文件內(nèi)容
樣式文件 .frm 描述表的結(jié)構(gòu)(它的列、列類型、索引等)
數(shù)據(jù)文件 .ISD(ISAM)或.MYD(MyISAM) 包含表里所有的數(shù)據(jù)
索引文件 .ISM(ISAM)或.MYI(MyISAM) 包含數(shù)據(jù)文件上的所有索引的索引樹(shù)
當(dāng)你發(fā)出一條CREATE TABLE tbl_name時(shí)語(yǔ)句定義表的結(jié)構(gòu)時(shí),服務(wù)器創(chuàng)建一個(gè)名為tbl_name.frm的文件,它包括該結(jié)構(gòu)的內(nèi)部編碼,同時(shí)也創(chuàng)建一個(gè)空數(shù)據(jù)和索引文件,初始化為包含指出無(wú)記錄和無(wú)索引的信息(如果CREATE TABLE語(yǔ)句包括索引指定,索引文件反映出這些索引)。對(duì)應(yīng)于表的文件的屬主和模式被設(shè)置為只允許MySQL服務(wù)器用戶訪問(wèn)。
三、常用的MySQL命令的使用
進(jìn)入mysql數(shù)據(jù)庫(kù):#./mysql -u 用戶名 -p'密碼'
查看所有的數(shù)據(jù)庫(kù):mysql> show databases;
進(jìn)入一個(gè)特定的數(shù)據(jù)庫(kù):mysql> use 數(shù)據(jù)庫(kù)名;
查看數(shù)據(jù)庫(kù)里所有的表:mysql> show tables;
把表改名:mysql> alter table 表名1 rename 表名2;
例子:mysql>alter table dept rename dept2。
四、索引
先要把要加索引的字段設(shè)為非空:
mysql> alter table 表名 change 字段名 字段名 字段描述 not null;
例子:
我們創(chuàng)建這樣一個(gè)表:
- mysql> create table employee
- ( id int(5) not null,
- depno int(5),
- name varchar(20) not null,
- cardnumber bigint(15) not null);
- mysql> alter table employee change depno depno int(5) not null;
加索引:mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
例子: mysql> alter table employee add index emp_name (name);
加主關(guān)鍵字的索引:mysql> alter table 表名 add primary key (字段名);
例子: mysql> alter table employee add primary key(id);
加***限制條件的索引:mysql> alter table 表名 add unique 索引名 (字段名);
例子: mysql> alter table employee add unique emp_name2(cardnumber);
查看某個(gè)表的索引:mysql> show index from 表名;
例子: mysql> show index from employee;
刪除某個(gè)索引:mysql> alter table 表名 drop index 索引名;
例子: mysql>alter table employee drop index emp_name;
關(guān)于MySQL數(shù)據(jù)庫(kù)的目錄結(jié)構(gòu)及常用命令的總結(jié)就介紹到這里了,希望本次的介紹能夠帶給您一些收獲吧,謝謝!
【編輯推薦】






