文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

mysql数据库有哪些文件

2024-04-02 19:55

关注

本篇内容介绍了“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

1.2.  Socket文件

数据库两种链接方式,网络连接和本地连接

mysql.sock文件是服务器与本地客户端进行通信的unix套接字文件,默认位置/tmp/mysql.sock

1.3.  表结构文件

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数据库有哪些文件”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯