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

顺便说一说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 389.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/118298.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号