Monthly Archives: September 2018

/tmp is 100% due to Mysql

Was having an issue where /tmp was getting 100% full every few minutes

on investigation i see the files of 3Gb over there in /tmp

#sql_436_0.MAD

ddvps20 tmp]# ls -al
total 3779332
drwxrwxrwt 12 root root 4096 Sep 21 10:24 .
dr-xr-xr-x 21 root root 4096 Sep 21 09:17 ..
drwxrwxrwt 2 root root 4096 Sep 21 09:17 .font-unix
drwxr-xr-x 2 cpanelsolr cpanelsolr 4096 Sep 21 10:22 hsperfdata_cpanelsolr
drwxr-xr-x 2 root root 4096 Sep 21 10:21 hsperfdata_root
drwxrwxrwt 2 root root 4096 Sep 21 09:17 .ICE-unix
drwx—— 2 root root 16384 Sep 21 09:56 lost+found
lrwxrwxrwx 1 root root 30 Sep 21 10:23 mysql.sock -> ../../var/lib/mysql/mysql.sock
-rw——- 1 cpdigita cpdigita 4096 Sep 21 10:11 .spamassassin1694OHMO4Dtmp
-rw——- 1 cpdigita cpdigita 0 Sep 21 10:17 .spamassassin1694voSq6Ctmp
-rw——- 1 cpdigita cpdigita 0 Sep 21 10:11 .spamassassin1694y0CJyjtmp
-rw——- 1 cpdigita cpdigita 0 Sep 21 10:04 .spamassassin18453ZHMaRtmp
-rw——- 1 cpdigita cpdigita 0 Sep 21 10:06 .spamassassin1845bypIDCtmp
-rw——- 1 cpdigita cpdigita 0 Sep 21 10:03 .spamassassin1845pCtlHqtmp
-rw-rw—- 1 mysql mysql 3866185728 Sep 21 10:07 #sql_436_0.MAD
-rw-rw—- 1 mysql mysql 8192 Sep 21 10:00 #sql_436_0.MAI
-rw——- 1 cpanelsolr cpanelsolr 165 Sep 21 10:22 start_2180387910403356223.properties
drwx—— 3 root root 4096 Sep 21 09:17 systemd-private-1d4af49159364e018772426d7df23a9d-named.service-8XVCsj
drwx—— 3 root root 4096 Sep 21 09:17 systemd-private-1d4af49159364e018772426d7df23a9d-named.service-FyUDBs
drwxrwxrwt 2 root root 4096 Sep 21 09:17 .Test-unix
drwxrwxrwt 2 root root 4096 Sep 21 09:17 .X11-unix
drwxrwxrwt 2 root root 4096 Sep 21 09:17 .XIM-unix

So mysql was going down due to /tmp being full

So as a work around found a better solution

To change the /tmp file to something else for mysql

vi /etc/my.cnf
tmpdir=/mysqltmp

Save the file with :wq

2. Create the /mysqltmp directory

Code:
mkdir /mysqltmp
chmod 1777 /mysqltmp



3. Restart MySQL and check that the tmpdir is now /mysqltmp
Code:
/etc/init.d/mysql restart
mysqladmin var | grep tmpdir
You should see the following return:

Code:
# mysqladmin var | grep tmpdir
| slave_load_tmpdir                       | /mysqltmp
| tmpdir                                  | /mysqltmp