Mysql临时文件目录控制

查看mysql的log-error日志发现如下错误:

ERROR 3 (HY000): Error writing file ‘/tmp/MYbEd05t‘ (Errcode: 28)

这是由于mysql运行sql时会产生临时文件,这个临时文件大小取决于sql语句和表的大小,当存放临时文件的分区“/”大小不足的时候会出现上述错误。这时候需要更改临时文件目录的位置到空间足够的分区下,步骤如下:

1.首先找到临时文件目录位置,在mysql命令行模式下输入:

show global variables like ‘%tmpdir%‘;

2.确认该位置下的分区空间是否可以释放出足够的空间,或者更改其临时文件目录:

set global tmpdir = ‘/data/mysqltemp‘;

3.接下来还需要修改mysql的配置文件my.cnf,在其中修改或者[mysqld]区块下新增如下配置:

tmpdir=/data/mysqltemp

4.再次执行步骤1,确认是否修改成功

5.最后给新增的临时文件目录授予可写权限,确保能够正确写入:

chmod a+w /data/mysqltemp

最后若是仍未生效,可以在不影响业务运行条件下尝试重启该mysql服务,对新部署mysql的服务器也应该尽早把临时文件目录更改至空间富余的分区下,避免日后不必要的麻烦。

原文地址:https://www.cnblogs.com/grasp/p/10308845.html

时间: 2024-07-30 16:49:10

Mysql临时文件目录控制的相关文章

设置Loadrunner负载机临时文件目录

设置Loadrunner负载机临时文件目录 最近在跑稳定性测试 3 X 24小时的时候,发现负载机产生的日志还运行记录等等竟然有100多G! C盘空间不足,但是D盘还有700多G空间呢,怎么让临时文件转移到D盘? 此处分两种情况: 一. 修改本机的临时文件 1. 观察压力机产生的临时文件都是在  %USERPROFILE%\Local Settings\Temp 下,于是在“我的电脑”——“属性”——“高级”——“环境变量”里修改了TEMP和TMP变量 此处设置它们的值都未 "D:\TEMP&q

获得临时文件目录(Temp文件夹)

C:\Users\ADMINI~1\AppData\Local\Temp\ //GetTempPath获得临时文件目录(Temp文件夹)  function TempPath:String;var  tmp:array [0..MAX_PATH] of Char;begin  GetTempPath(MAX_PATH,tmp);  Result:= tmp;end; procedure TForm1.Button1Click(Sender: TObject);begin  Edit1.Text

Database(Mysql)发版控制二

author:skate time:2014/08/18 Database(Mysql)发版控制 The Liquibase Tool related Database 一.Installation & Configration 二.Advanced Usage of the Liquibase 三.Frequently Questions 二.Advanced Usage of the Liquibase 1.实际场景模拟 实际需求:需要把不同环境的不同分支的数据库变更合并,并按需求应用或回滚

Ubuntu下迁移MySQL数据库文件目录

用Ubuntu的apt包管理工具安装的mysql数据库,默认将数据库文件保存在/var/lib/mysql目录下,时间久了数据库越来越大,所以准备挂载个新的硬盘专门存放mysql数据库. 1.确定mysql数据库文件存放目录 一般默认是在/var/lib/mysql目录下.先登录自己的mysql数据库,比如我用root账户登录,然后使用下面查询语句查询: show variables like '%dir%'; 得到数据库文件配置信息: 可以看到其中datadir的值为/var/lib/mysq

转:设置Loadrunner负载机临时文件目录

最近在跑稳定性测试 3 X 24小时的时候,发现负载机产生的日志还运行记录等等竟然有100多G! C盘空间不足,但是D盘还有700多G空间呢,怎么让临时文件转移到D盘? 此处分两种情况: 一. 修改本机的临时文件 1. 观察压力机产生的临时文件都是在  %USERPROFILE%\Local Settings\Temp 下,于是在“我的电脑”——“属性”——“高级”——“环境变量”里修改了TEMP和TMP变量 此处设置它们的值都未 "D:\TEMP",运行发现结果仍然保存在%USERP

linux mysql 更改MySQL数据文件目录位置

linux mysql 更改MySQL数据文件目录位置 背景:最近公司一台服务器报警,磁盘空间报警超阀值.  原来mysql数据库数据目录特别大,现在我要更改数据文件的目录. 原来是默认的目录. MySQL默认的数据文件存储目录为/var/lib/mysql.假如要把目录移到/home/data下需要进行下面几步: 1.home目录下建立data目录 cd /home mkdir data 2.把MySQL服务进程停掉: mysqladmin -u root -p shutdown 3.把/va

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-

MySql命令行控制事务

新建表t1 CREATE TABLE `t1` (   `a` int(11) NOT NULL,   `b` int(11) DEFAULT NULL,   PRIMARY KEY (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 查看mysql系统级别的事务隔离级别: mysql> SELECT @@global.tx_isolation; +-----------------------+ | @@global.tx_isolation | +--

mysq'l系列之10.mysql优化&权限控制

网站打开慢如何排查 1.打开网页, 用谷歌浏览器F12, 查看network: 哪个加载时间长就优化哪个 2.如果是数据库问题 2.1 查看大体情况 # top # uptime  //load average 负载 mysql> show full processlist; 2.2 查看慢查询日志: long_query_time = 1 log-slow-queries = /data/3306/slow.log 日志分析工具: mysqldumpslow  mysqlsla  myprof