mysql临时目录_MySQL临时目录浅谈

情景

MySQL数据目录/data/mysql所在的上层目录/data,磁盘空间不足导致MySQL启动失败,所以清理了/data目录下除了mysql子目录外的其他无用目录。重启发现还是失败。检查错误日志。看到如下错误:

/usr/local/mysql/bin/mysqld: Can't create/write to file '/data/tmp/ibbLmEoD' (Errcode: 13 - Permission denied)

原来是清理无用目录时不小心把MySQL配置文件中指定的tmpdir--->/data/tmp目录也给删除了,导致MySQL Server启动时的一些临时文件或表无法写入,从而启动失败。重建目录并赋予正确的权限后,重启MySQL Server,正常启动。

查看临时文件存储目录

show variables like '%tmp%';

mysql> show variables like '%tmp%';

+----------------------------+----------+

| Variable_name | Value |

+----------------------------+----------+

| default_tmp_storage_engine | InnoDB |

| max_tmp_tables | 32 |

| slave_load_tmpdir | /tmp |

| tmp_table_size | 16777216 |

| tmpdir | /data/tmp|

+----------------------------+----------+

5 rows in set (0.00 sec)

临时目录参数:

命令行参数格式: --tmpdir=path

配置文件参格式: tmpdir=path

临时目录解析

临时目录用于存储临时文件或临时表。值可以是一个使用“:”(Unix)或“;”(Windows)分隔的路径列表,这些路径可被轮流使用,以便将负载分到不同磁盘。

若MySQL server是作为Slave的角色,则不能将该目录指向基于内存文件系统的目录或者当主机重启时会被清理掉的目录,因为Slave需要这些文件复制临时表或执行LOAD DATA INFILE操作,这些文件丢失会导致复制失败。

这意味着不能将slave的tmpdir设置为linux系统默认的/tmp目录。对于Slave可以使用另一配置项slave_load_tmpdir来设置其临时目录,这样Slave可以不使用通用选项tmpdir设置的临时目录。对于非Slave角色的MySQL server没此限制。

若临时目录不存在或权限不正确不仅会引起MySQL Server启动失败,还会导致其他可能使用到临时目录的MySQL实用程序运行异常。

很多MySQL相关程序会从MySQL Server的配置文件读取选项值,比如全备程序xtrabackup,下面这个错误就是因为MySQL Server配置文件中指定的临时目录不存在造成的。

xtrabackup_56: Can't create/write to file '/data/tmp/ibHbumcM' (Errcode: 2 - No such file or directory)

2015-11-23 16:04:42 7f1b25c607e0 InnoDB: Error: unable to create temporary file; errno: 2

xtrabackup: innodb_init(): Error occured.

innobackupex: Error:

innobackupex: ibbackup failed at /usr/bin/innobackupex line 389.

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值