Saya telah memetakan datadir MySQL saya ke disk yang berbeda (dan lebih besar) dengan 900GB
[root@web ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 40G 24G 14G 64% /
tmpfs 7.4G 0 7.4G 0% /dev/shm
/dev/xvdb1 886G 658G 184G 79% /mnt/cbsvolume1
/ Tmp terletak di disk 40GB yang lebih kecil
[root@web ~]# df -h /tmp
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 40G 24G 14G 64% /
Tampaknya MySQL menggunakan direktori / tmp dan karena itu saya kadang-kadang kehabisan ruang disk ketika mencoba melakukan operasi MySQL besar.
Bagaimana saya bisa mengubah /tmp
agar juga menggunakan disk yang lebih besar?
linux
hard-drive
centos
mysql
Noam
sumber
sumber
/tmp
bahkan tidak berada di disk./tmp
menjaditmpfs
, yang tidak terjadi.Jawaban:
Sejauh yang saya tahu, isi
/tmp
dihapus pada reboot.Namun, dalam kasus Anda, Anda dapat mencoba mengubah / menambahkan
TMPDIR
variabel lingkungan di:sumber
df -h /tmp
masih menunjukkan hal yang sama. Bagaimana saya memverifikasi itu 'berhasil'?/tmp
dari mount yang lebih kecil. Juga, saya tidak punya direktori/etc/mysql/
mungkin di tempat yang berbeda?my.cnf
file juga)/usr/libexec/mysqld: Can't create/write to file '/mnt/cbsvolume1/newTmpDir/ibvxXVDh' (Errcode: 13)
Jadi saya kira saya perlu menambahkan premisi ke direktori itu? Jadi saya juga melakukannyachown mysql:mysql /mnt/cbsvolume1/newTmpDir
dan sepertinya berhasil. Terima kasih!Ubah variabel lingkungan TMPDIR ke sistem file / direktori dengan lebih banyak ruang disk.
Edit file konfigurasi lokal
/etc/mysql/conf.d/local.cnf
. File ini berisi perubahan lokal Anda - dan tidak akan ditimpa jika Anda memutakhirkan mysql. Catatan file config dapat disimpan di lokasi yang berbeda - gunakan find untuk menemukan file config default my.cnf. Biasanya local.cnf akan disimpan di direktori yang sama.Edit local.cnf misalnya
sudo vi /etc/mysql/conf.d/local.cnf
Tambahkan baris ini ke local.cnf:
Kemudian mulai kembali mysql.
Dari dokumentasi MySQL :
sumber
export TMPDIR=<path>
saran. Juga, saya tidak punya/etc/mysql/
direktori, mungkinkah itu terletak di tempat yang berbeda?export
perintah. Gunakanfind
seperti yang dijelaskan dalam jawaban yang diedit.