MySQL中指定表数据文件实现存放目录的最佳方法

  

不知道大家之前对类似MySQL中指定表数据文件实现存放目录的最佳方法的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完MySQL中指定表数据文件实现存放目录的最佳方法你一定会有所收获的。

1。背景

,,*在MYSQL中建立一张数据表,在其数据目录对应的数据库目录下都有对应表的.frm文件,.frm文件是用来保存每个数据表的元数据(元)信息,包括表结构的定义等,.frm文件跟数据库存储引擎无关,也就是任何存储引擎的数据表都必须有.frm文件,命名方式为数据表名.frm,如user.frm。.frm文件可以用来在数据库崩溃时恢复表结构。

,,* MySQL文件包括MySQL所建数据库文件和MySQL所用引擎创建的数据库文件。

,,* .frm文件与操作系统和数据库引擎无关,都有这么个与表名同名文件。

,,* MyISAM引擎的文件:

,,,* .myd即我的数据,表数据文件

,,,* .myi即我的指数,索引文件

,,,* . log日志文件。

,,* InnoDB引擎的文件:

,,,*采用表空间(表空间)来管理数据,存储表数据和索引,

,,,* InnoDB数据库文件(即InnoDB文件集,ib-file集)。

,,,* ibdata1 ibdata2等:系统表空间文件,当未开启innodb_file_per_table时,存储InnoDB系统信息和用户数据库表数据和索引,所有表共用。

,,,* .ibd文件:当开启innodb_file_per_table时,单表表空间文件,每个表使用一个表空间文件每表(文件),存放用户数据库表数据和索引。

,,,*日志文件:ib_logfile1 ib_logfile2。

,,*指定的目录必须是目录的完整路径名,而不是相对路径。

2。MySQL环境

<>以前Welcome 用,MySQL 监控只,Commands 最终获得with ,趁机\ g。   Your  MySQL  connection  id  is  4   版本:Server  5.7.18  MySQL  Community  Server  (GPL)      Copyright  (c), 2000年,2017年,Oracle 和/或its 子公司只All  rights 保留。      Oracle  is  a  registered  trademark  of  Oracle  Corporation 和/或它的   子公司只Other  names  may  be  trademarks  of  their 各自   的主人。      Type  & # 39;帮助;& # 39;,趁机& # 39;\ h # 39;, for 帮助只Type  & # 39; \ c # 39;,用clear 从而current  input 语句。      mysql>, show  variables  like  & # 39;版本# 39;;   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   | |,Variable_name  Value  |   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   |,version ,,,,,, |, 5.7.18  |   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   1,row  set 拷贝;(0.01,sec)      mysql>, show  variables  like  & # 39; datadir& # 39;;   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   | |,Variable_name  Value ,,,,,,,,,,, |   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   |,datadir ,,,,,, |,/数据/mysql_data/|   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   1,row  set 拷贝;(0.04,sec)      mysql>, show  variables  like  & # 39; innodb_file_per % & # 39;;   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +   |,Variable_name ,,,,,,,, |, Value  |   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +   | |,innodb_file_per_table ,,, |   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +   1,row  set 拷贝;(0.02,sec)

3。MyISAM引擎指定表数据文件存放目录例子

,,*创建表数据文件存放目录

 [root@MySQL  ~] #, mkdir  -v /test_myisam
  mkdir: created  directory  '/test_myisam& # 39; 


*查看mysqld运行用户

 [root@MySQL  ~] #, ps  aux  |, grep  mysqld  |, grep  -v  grep
  root ,,,,,, 1468,,, 0.0, 0.0, 110400,, 1532,,,,,,,,, S ,,, 16:00 ,, 0:00 /bin/sh /usr/地方/mysql/bin/mysqld_safe ——datadir=/数据/mysql_data  pid文件=/数据/mysql_data/MySQL.pid
  mysql ,,,,, 1614,, 0.2,, 4.9, 1309380, 194788, ?,,,,,,,,, Sl  16:00 ,, 0:04 /usr/地方/mysql/bin/mysqld ——basedir=/usr/地方/mysql ——datadir=/数据/mysql_data ——plugin-dir=/usr/地方/mysql/lib/plugin ——用户=mysql ——日志错误=/数据/mysql_data/error.log ——pid文件=/数据/mysql_data/mysql。pid 

MySQL中指定表数据文件实现存放目录的最佳方法