本文我們總結了一些MySQL數據庫的目錄結構方面的知識以及一些常用的MySQL命令的使用及其注意事項,接下來我們就開始一一介紹。
一、 數據目錄的位置
這是默認的mysql目錄結構:
bin info libexec share var
include lib man sql-bench
一個缺省數據目錄被編譯進了服務器,如果你從一個源代碼分發安裝MySQL,典型的缺省目錄為/usr/local/var,如果從RPM文件安裝則為/var/lib/mysql,如果從一個二進制分發安裝則是/usr/local/mysql/data。
作為一名MySQL管理員,你應該知道你的數據目錄在哪裡。如果你運行多個服務器,你應該是到所有數據目錄在哪裡,但是如果你不知道確切的位置,由多種方法找到它:
1、使用mysqladmin variables從你的服務器直接獲得數據目錄路徑名。查找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運行的路徑
- %ps -ef | grep mysqld
二、數據目錄結構
每個數據庫對應於數據目錄下的一個目錄。在一個數據庫中的表對應於數據目錄下的文件。數據目錄也包含由服務器產生的幾個狀態文件,如日志文件。這些文件提供了關於服務器操作的重要信息。對管理特別在出了問題而試圖確定問題原因時很有價值。
1、數據庫表的表示:
數據庫目錄中有3種文件:一個樣式描述文件)、一個數據文件和一個索引文件。每個文件的基本名是表名,文件名擴展名代表文件類型。擴展名如下表。數據和索引文件的擴展名指出表使用老式IASM索引或新式MyISAM索引。
2、MySQL文件類型:
文件類型 文件名擴展名 文件內容
樣式文件 .frm 描述表的結構它的列、列類型、索引等)
數據文件 .ISD(ISAM)或.MYD(MyISAM) 包含表裡所有的數據
索引文件 .ISM(ISAM)或.MYI(MyISAM) 包含數據文件上的所有索引的索引樹
當你發出一條CREATE TABLE tbl_name時語句定義表的結構時,服務器創建一個名為tbl_name.frm的文件,它包括該結構的內部編碼,同時也創建一個空數據和索引文件,初始化為包含指出無記錄和無索引的信息如果CREATE TABLE語句包括索引指定,索引文件反映出這些索引)。對應於表的文件的屬主和模式被設置為只允許MySQL服務器用戶訪問。
三、常用的MySQL命令的使用
進入mysql數據庫:#./mysql -u 用戶名 -p'密碼'
查看所有的數據庫:mysql> show databases;
進入一個特定的數據庫:mysql> use 數據庫名;
查看數據庫裡所有的表:mysql> show tables;
把表改名:mysql> alter table 表名1 rename 表名2;
例子:mysql>alter table dept rename dept2。
四、索引
先要把要加索引的字段設為非空:
mysql> alter table 表名 change 字段名 字段名 字段描述 not null;
例子:
我們創建這樣一個表:
- 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);
加主關鍵字的索引: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);
查看某個表的索引:mysql> show index from 表名;
例子: mysql> show index from employee;
刪除某個索引:mysql> alter table 表名 drop index 索引名;
例子: mysql>alter table employee drop index emp_name;
關於MySQL數據庫的目錄結構及常用命令的總結就介紹到這裡了,希望本次的介紹能夠帶給您一些收獲吧,謝謝!