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.

MySQL 临时目录

时间: 2024-11-08 06:40:40

MySQL 临时目录的相关文章

UWP开发之Template10实践二:拍照功能你合理使用了吗?(TempState临时目录问题)

最近在忙Asp.Net MVC开发一直没空更新UWP这块,不过有时间的话还是需要将自己的经验和大家分享下,以求共同进步. 在上章[UWP开发之Template10实践:本地文件与照相机文件操作的MVVM实例(图文付原代码)]已经谈到了使用FileOpenPicker进行文件选择,以及CameraCaptureUI进行拍照. 对于文件选择一般进行如下设置就能实现: // 选择多个文件 FileOpenPicker openPicker = new FileOpenPicker(); openPic

更改ubuntu mysql data目录位置

更改ubuntu mysql data目录位置 很多时候,mysql的数据会非常大,数据默认放在/var/lib/mysql,由于/var所划分的空间不够大,所以我们需要将mysql数据存放路径修改一下,放到大分区里面,以便可以应付mysql数据增长. 1.设置新的存放路径 mkdir -p /data/mysql 2.复制原有数据 cp -R /var/lib/mysql/* /data/mysql 3.修改权限 chown -R mysql:mysql /data/mysql 4.修改配置文

struts2获取服务器临时目录

CreateTime--2017年9月7日08:57:39 Author:Marydon struts2获取服务器(tomcat.WebLogic)的临时目录 需要导入: import java.io.File; import org.apache.struts2.ServletActionContext; 方法封装 // 指定服务器的用于临时存储的目录 public static final String TEMP_DIR_CONTEXT_ATTRIBUTE = "javax.servlet.

[IIS][ASP.NET]“拒绝访问临时目录”的解决方法

除了设置windows临时目录权限外,还有一种原因:后来在应用程序池设置中将"加载用户配置文件"(Load User Profile)设置为true,问题就解决. [IIS][ASP.NET]"拒绝访问临时目录"的解决方法,布布扣,bubuko.com

MYSQL Data目录查找及如何迁移

MySQL数据库安装成功后,却发现在MySQL安装目录下的Data目录竟然没有新建的数据库?那么如何查找真正的data目录呢?下面3A网络小钱今天就来教你如何查找真正的Data目录并迁移出去.(欢迎各位看官多来和小弟沟通,小弟扣扣:柒壹贰叁肆贰零贰壹) 查找方法:1.方法一:查找mysql.ini文件搜索datadir关键词,发现原来路径配置和basedir不一致datadir="C:/Documents and Settings/All Users/Application Data/MySQL

CentOS修改MySql数据库目录datadir

service mysqld stop        //停止mysql服务 cp -rf /var/lib/mysql /home/data     //复制默认的mysql数据库目录 chown -R mysql:mysql /home/data   //给新的目录授权 //修改my.cnf, 为确保没问题, 可以将以前的配置注释掉或者cp一份 vi /etc/my.cnf datadir=/home/data socket=/home/data/mysql.sock //修改mysqld

Linux Mysql如何移动MySQL数据库目录位置

假如要把目录移到/home/data下需要进行下面几步: 1.home目录下建立data目录 cd /home mkdir data 2.把MySQL服务进程停掉: mysqladmin -u root -p shutdown 3.把/var/lib/mysql整个目录移到/home/data mv /var/lib/mysql /home/data/ 这样就把MySQL的数据文件移动到了/home/data/mysql下 4.找到my.cnf配置文件 如果/etc/目录下没有my.cnf配置文

CentOS 更改MySQL数据库目录位置

CentOS 更改MySQL数据库目录位置 由于MYSQL的数据库太大,默认安装的“/var”盘已经再也无法容纳新增加的数据,没有办法,只能想办法转移数据的目录. 以下是将MYSQL数据库默认安装目录从“/var/lig/mysql”目录转移到“/home/mysql_data/”目录具体操作流程: 通过用”YUM”安装“MYSQL”数据库,安装目录为默认路径:”/var/lib/mysql” 启动“MYSQL”数据库 [[email protected] ~]#service mysqld s

golang 标准库io/ioutil,读取文件,生成临时目录/文件

1.读取目录 list, err := ioutil.ReadDir("DIR")//要读取的目录地址DIR,得到列表 if err != nil { fmt.Println("read dir error") return } for _, info := range list { //遍历目录下的内容,获取文件详情,同os.Stat(filename)获取的信息 info.Name()//文件名 info.Mode()//文件权限 info.Size()//文件