二、Mysql目录的介绍
2.1 mysql安装目录
[root@localhost mysql]# ll
总用量 48
drwxr-xr-x 2 root root 4096 9月 3 22:03 bin
-rw-r--r-- 1 root root 17987 11月 28 2016 COPYING
drwxr-xr-x 5 mysql mysql 192 9月 4 09:26 data
drwxr-xr-x 2 root root 55 9月 3 22:02 docs
drwxr-xr-x 3 root root 4096 9月 3 22:02 include
drwxr-xr-x 3 root root 291 9月 3 22:03 lib
drwxr-xr-x 4 root root 30 9月 3 22:03 man
-rw-r--r-- 1 root root 943 9月 3 22:06 my.cnf
drwxr-xr-x 10 root root 4096 9月 3 22:03 mysql-test
-rw-r--r-- 1 root root 2496 11月 28 2016 README
drwxr-xr-x 2 root root 30 9月 3 22:03 scripts
drwxr-xr-x 28 root root 4096 9月 3 22:03 share
drwxr-xr-x 4 root root 4096 9月 3 22:03 sql-bench
drwxr-xr-x 2 root root 136 9月 3 22:03 support-files
- bin,存储可执行文件,mysql自带客户端,mysql服务端
- data,存放数据的文件
- docs,存放一些文档
- include,存放包含的头文件
- lib ,存储库文件
- my.cnf,配置文件
- share ,错误信息和字符集文件等
没有介绍到的,了解一下就可以了
2.2 数据存储目录
其中,我们重点看一下data文件夹:如果你找不到自己建立的库或者表的文件,可能不在这个data文件夹下面,连接上mysql之后,输入
show global variables like "%datadir%";
来查看数据文件存储路径,找到路径之后,到对应路径下如果找不到这个文件夹,那么可能是隐藏的,把隐藏的文件显示一下就行了。
mysql> show global variables like "%datadir%"; #查询数据库的存储路径
+---------------+------------------------+
| Variable_name | Value |
+---------------+------------------------+
| datadir | /usr/local/mysql/data/ |
+---------------+------------------------+
1 row in set (0.01 sec)
mysql>
上面的datadir:/usr/local/mysql/data/
就是数据存储的目录,备份也是备份这个目录。
下图是data目录的数据:
[root@localhost data]# ll
总用量 110624
-rw-rw---- 1 mysql mysql 56 9月 3 22:09 auto.cnf
-rw-rw---- 1 mysql mysql 12582912 9月 4 09:26 ibdata1
-rw-rw---- 1 mysql mysql 50331648 9月 4 09:26 ib_logfile0
-rw-rw---- 1 mysql mysql 50331648 9月 3 22:06 ib_logfile1
-rw-rw---- 1 mysql mysql 12345 9月 4 09:27 localhost.localdomain.err
-rw-rw---- 1 mysql mysql 7 9月 4 09:26 localhost.localdomain.pid
drwx------ 2 mysql mysql 4096 9月 3 22:06 mysql
drwx------ 2 mysql mysql 4096 9月 3 22:06 performance_schema
drwxr-xr-x 2 mysql mysql 20 9月 3 22:03 test
我们再来看看数据库中的库:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.04 sec)
根据上两张图不难发现一个规律。在mysql中一个库对应1个目录。information_schema
这个是内存中的1个库。
2.3 mysql库的说明
其中mysql这个库:
mysql:这个是mysql
整个服务的核心数据库,类似于sql server中的master表,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息。不可以删除,如果对mysql不是很了解,也不要轻易修改这个数据库里面的表信息。
其实这些库就是我们电脑上对应的文件夹,在mysql中显示为对应的库,来方便我们管理数据,而文件或者文件夹这种与硬盘打交道的事情就交给mysql了,我们只需要对mysql库中的数据进行操作就可以了,你可以看到,我们刚才简单使用的时候创建的一个crm库,也就是在data目录下的生成了一个crm文件夹。