本文我们总结了一些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数据库的目录结构及常用命令的总结就介绍到这里了,希望本次的介绍能够带给您一些收获吧,谢谢!
【编辑推荐】