web-dev-qa-db-ja.com

/ tmpを別のマウントされたドライブに移動する

MySQLデータディレクトリを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は小さい方の40GBディスクにあります

[root@web ~]# df -h /tmp
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       40G   24G   14G  64% /

MySQLが/ tmpディレクトリを使用しているようです。そのため、大きなMySQL操作を実行しようとすると、ディスク領域が不足することがあります。

/tmpを変更して、より大きなディスクも使用するにはどうすればよいですか?

1
Noam

私の知る限り、/tmpの内容は再起動時に削除されます。

ただし、あなたの場合は、次の場所でTMPDIR環境変数を変更/追加してみてください。

/etc/mysql/conf.d/local.cnf
1
Cornelius

TMPDIR環境変数を、より多くのディスク容量を持つファイルシステム/ディレクトリに変更します。

ローカル構成ファイルを編集します/etc/mysql/conf.d/local.cnf。このファイルにはローカルの変更が含まれており、mysqlをアップグレードしても上書きされません。構成ファイルは別の場所に保存される場合があることに注意してください。findを使用して、デフォルトの構成ファイルmy.cnfを見つけます。通常、local.cnfは同じディレクトリに保存されます。

Sudo find / -name my.cnf     # look for path of config files

Local.cnfを編集します。例: Sudo vi /etc/mysql/conf.d/local.cnf

これらの行をlocal.cnfに追加します。

[mysqld]
tmpdir = /your/newpath

次に、mysqlを再起動します。

MySQL ドキュメントから:

B.5.4.4 MySQLが一時ファイルを保存する場所

Unixでは、MySQLはTMPDIR環境変数の値を一時ファイルを保存するディレクトリのパス名として使用します。 TMPDIRが設定されていない場合、MySQLはシステムのデフォルト(通常は/ tmp、/ var/tmp、または/ usr/tmp)を使用します。

1
suspectus