站长网 MySql教程 mysql数据库有什么文件

mysql数据库有什么文件

本篇内容介绍了mysql数据库有哪些文件的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 1.1. pid文件 实例启动后,将自己唯一进程号记录到自己pid文件

本篇内容介绍了“mysql数据库有哪些文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
 
1.1.  pid文件
实例启动后,将自己唯一进程号记录到自己pid文件中,保存在数据目录下。
 
注意:在配置文件my.cnf中必须配置pid-file=/data/mysql/mysql.pid,否则数据库启动报错。
 
查看进程,可看到文件路径。
 
[root@localhost mysql]# ps -ef |grep mysql
 
root      20196      1  0 14:15 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe –datadir=/data/mysql –pid-file=/data/mysql/mysql.pid
 
mysql     21556  20196  0 14:15 pts/1    00:00:06 /usr/local/mysql/bin/mysqld –basedir=/usr/local/mysql –datadir=/data/mysql –plugin-dir=/usr/local/mysql/lib/plugin –user=mysql –log-error=/data/mysql/error.log –open-files-limit=65535 –pid-file=/data/mysql/mysql.pid –socket=/tmp/mysql.sock –port=3306
  
 表结构文件
mysql8.0之前,以.frm结尾的文件是表结构文件,从8.0开始,frm表的定义文件被消除掉,数据都写到系统表空间,通过利用InnoDB引擎实现表的DDL语句操作原子性。此前版本无法实现表DDL语句操作的原子性,如truncate无法回滚。
 
问题:书中说mysql的truncate能回滚?查相关资料,没说能回滚的。
 
前面测试创建表的,在目录下可看到该表文件,
 
# ls t.*
 
t.frm  t.ibd
 
1.4.  InnoDB存储引擎文件
InnoDB存储引擎层面主要分两种日志:redo log 和   undo log
 
InnoDB多版本通过使用undo和回滚段实现
 
InnoDB是索引组织表,每行记录都实现三个隐藏字段:
 
n  DB_ROW_ID
 
n  DB_TRX_ID:代表每行记录的事务ID
 
n  DB_ROLL_PTR:代表每行记录的回滚指针。
 
InnoDB有一个全局事务链表,每个事务的开始都会把事务ID放到链表中,DB_ROLL_PTR指针指向undo记录,构造多版本。
 
redo log用于记录事务操作变化,记录的是数据被修改之后的值。
 
undo日志文件
 
undo记录(insert,update,delete),只记录变更前的旧数据,默认记录到系统表空间ibdata1,从5.6开始可以使用独立undo表空间,可以把undo文件部署到单独的高速存储上。
 
undo log的主要参数
 
[mysql]>show variables like '%undo%';
 
+————————–+————+
 
| Variable_name            | Value      |
 
+————————–+————+
 
| innodb_max_undo_log_size | 1073741824 |
 
| innodb_undo_directory    | ./         |
 
| innodb_undo_log_truncate | OFF        |
 
| innodb_undo_logs         | 128        |
 
| innodb_undo_tablespaces  | 0          |
 
+————————–+————+
 
 
 
innodb_undo_directory:undo文件的存储目录;
 
    innodb_undo_logs:undo回滚段数量默认128个,可将大回滚段拆分成多个小回滚段,每个log segments最多存1024个事务。
 
innodb_undo_tablespaces代表undo tablespace的个数,默认0个;表空间有undo log文件,默认10M。undo tablespace数量最少2个,以备truncate undo tablespace切换。
 
innodb_max_undo_size,5.7新增,默认1G,达到阈值触发truncate undo logs。truncate后的undo logs大小默认恢复为10M。可在线删除无用undo log,但需开启innodb_undo_log_truncate,默认关闭。
 
innodb_pure_rseg_truncate_frequency:5.7新增,控制回收undo log的频率,默认128.表示purge undo轮询128次后,进行一次undo的truncate操作;但undo log空间在回滚段没有释放前不会收缩。
 
“mysql数据库有哪些文件”的内容就介绍到这里了,感谢大家的阅读。

本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/jc/mysql/2021/1221/41673.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部