MySQL的tmp表是存放臨時數據的表,其中包括排序用的臨時表、分組用的臨時表等。如果tmp表所在的磁盤空間不足,會影響MySQL的正常運行,因此有時需要修改tmp所在的路徑。
修改tmp路徑的步驟如下:
1. 查看當前tmp路徑 SHOW VARIABLES LIKE 'tmpdir';
2. 停止MySQL服務 sudo service mysql stop
3. 復制tmp文件夾 sudo cp -r /var/lib/mysql/tmp /new/tmp
4. 修改my.cnf文件 sudo nano /etc/mysql/my.cnf 在[mysqld]下添加以下兩行 tmpdir = /new/tmp innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:10G
其中,tmpdir表示臨時文件存放的路徑,要與復制的tmp文件夾路徑一致;innodb_temp_data_file_path則是指定innodb引擎使用的臨時文件存放路徑。
5. 啟動MySQL服務 sudo service mysql start
修改tmp路徑后,務必要刪除原有的tmp文件夾,以免占用過多磁盤空間。