mysql默认tmpdir怎么找?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
错误来源?
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.
感谢各位的阅读!看完上述内容,你们对mysql默认tmpdir怎么找大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。