视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
mysql默认tmpdir在哪
2020-11-09 08:36:49 责编:小采
文档
 错误来源?

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,正常启动。

说一说MySQL 临时目录这个参数:

命令行参数格式:--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)

2014-07-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 3.

下载本文
显示全文
专题