By default MySQL uses the system default location used for temporary file storage, which is usually /tmp, /var/tmp, or /usr/tmp. In Ubuntu its /tmp. It’s good practice to specify separate location for MySQL, if you want to prevent System restart. If tmp location is on separate location then only MySQL restart will needed in case of any disk increase needed in future.
Step 1: Create new EBS Volume by Login to Console and Click on EC2 Dashboard, then click on “Volumes”
Step 2: Fill the details of Volume and click on create and the new Volume will be created within few seconds.
Step 3: Attach the newly created volume to the Instance.
Step 4: Check if the volume is attached or not by going to EC2 dashboard and clicking on that particular instance. You can also check by going to Volume stats as well.
Step 5: Login to machine by your key or password.
Step 6: Format Volume to ext4 and then mount it and make fstab entry as well.
root@x:/mnt: lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 40G 0 disk
└─xvda1 202:1 0 40G 0 part /
xvdb 202:16 0 400G 0 disk /mnt/data
xvdf 202:80 0 200G 0 disk
root@x: mkfs.ext4 /dev/xvdf
mke2fs 1.42.9 (4-Feb-2014)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
13107200 inodes, 52428800 blocks
2621440 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
1600 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
root@x: mkdir /mnt/xvdf
root@x:/mnt: sudo mount /dev/xvdf /mnt/xvdf/
root@x: mkdir /mnt/xvdf/tmp_mysql
root@x:/mnt/xvdf# chown -Rf mysql:mysql /mnt/xvdf/tmp_mysql
root@x:/var: ln -s /mnt/xvdf/tmp_mysql/ /var/tmp_mysql
Step 7: Now put the tmp_dir setting in /etc/my.cnf
[mysqld] tmpdir = /var/tmp_mysql
Step 8: Restart the MySQL and check for setting by Login to MySQL and executing below mentioned Query
root@x:/: sudo service mysql restart
mysql> SHOW VARIABLES LIKE 'tmpdir';
This is how you can change the temporary directory in AWS hosted Ubuntu Linux environment.




