カテゴリー

MariaDBの「INTO OUTFILE」で/tmp配下にファイルを出力しようとすると「ERROR 1086 (HY000): File ‘XXXX’ already exists.」でエラーになる

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。

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】最近楽天で購入した商品

子供が児童館に置いてあったおもちゃでみて気に入って、欲しいとのことで購入。大人もぼーと見てられて、なかなか良い。【期間限定ポイントUP】日本製 【 オフィス弥生 】 プレイタイマー 1個 【 水車 タ [...]

PC側のUSBポートをあまり疲弊させたくないので、延長ケーブルをよく使うのですが、こちらはちょっとだけ延長してしかも自由に固定できるので重宝しています。ミヨシ(Miyoshi) MCO フレキシブルな [...]

タコのように曲がる三本足で引っかかるところがあればどこでもくっつき、かなり明るい。防犯用に家の周りの暗がりはこれでカバー。ムサシ RITEX どこでもセンサーライト300 ASL-097価格:3,39 [...]

Tips

Posted by admin