MySQL(MariaDB)で「Can’t create/write to file ‘/var/tmp/#sql****.MYI’」エラーの対処策

Wordpressの管理画面にアクセス出来ない(Can’t create/write to file 〜 エラー)

先日、サーバーをDTIからカゴヤのVPSに移転した時です、ApacheやMariaDBも済まして、DBのインポートしてWordpressで構築したWEBページが表示されてので、管理画面にアクセスするとアクセスができなくて、MariaDB(MySQL)が以下のエラーを吐いてました

[Fri Aug 19 hh:mm:ss 2016] [:error] [pid xxxxx] [client xxx.xxx.xxx.xxx:xxxxx] 
[:error] WordPress : Can't create/write to file '/var/tmp/#sql_3e8b_0.MAI' (Errcode: 2)

Can’t create/write to file の エラー原因

エラーの原因ですが、DISKの容量が不足しているかパーミッションが原因でMariaDB(MySQL)がテンポラリ領域に書き込みができないって内容です。私の環境ではサーバー移転後の容量を確認しましたが、DISKの使用率が10%以下なので、DISKの容量不足は関係ありません。

パーミッションかな〜と思いましたが、/var/tmpはどのユーザーでも書き込みできるのでそれも違うなと思いましたが、Mariadbの設定ファイル(/etc/my.cnf)明示的に、tmpdir = /tmp/と記載してました

$ sudo vi /etc/my.cnf
# The MySQL server
[mysqld]
tmpdir = /tmp/

$ sudo systemctl restart mariadb

何故、/var/tmpに書込が出来なかったは分かりませんが、上記の設定をすればエラーは解消され、Wordpressの管理画面にアクセスできました。

スポンサーリンク