MariaDBの「INTO OUTFILE」で/tmp配下にファイルを出力しようとすると「ERROR 1086 (HY000): File ‘XXXX’ already exists.」でエラーになる
CentOS7のMariaDBで同じことをやっていた時には問題なかったのですが、
RockyLinux8で同じスクリプトを走らせて、/tmp配下にファイルを出力しようとすると、
ファイルはないのに「File already exists」でエラーに。
何度やってもダメなので調べたところ、/tmp直下にファイルを吐けないようになっている場合があるらしい。
/usr/lib/systemd/system/mariadb.service
が以下の様に違っていました。
/tmpに吐けてたやつ # If you don't use the /tmp directory for SELECT ... OUTFILE and # LOAD DATA INFILE you can enable PrivateTmp=true for a little more security. PrivateTmp=false
/tmpに吐けなかったやつ # Place temp files in a secure directory, not /tmp PrivateTmp=true
PrivateTmp=false
にしてMariaDB再起動すると直るみたいです。
てっきり、OS大元の設定かと思ったのですが、サービスごとの設定とはね。知らなかったわぁ。
【PR】
【整備済み品】Apple iPhone SE(第2世代) 64GB (PRODUCT)RED SIMフリー
¥19,928 (2024年5月20日 16:07 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)