なぜかメディアファイルモリモリの記事を投稿しようとすると、投稿エラーになってしまったため、いろいろ試行錯誤した結果の解決策を備忘録として記録する。
WordPressの実行環境
サーバー:Synology NAS
MariaDB:Synologyパッケージセンターからインスコ
WordPress:WebStationでサービスを立てている
対処法
結論はMariaDBのパケットサイズ制限(max_allowed_packet)に引っかかっていたために投稿エラーになっていた。
設定変更はSynologyのWebUI上では出来ないため、SSH接続したターミナルでコマンドを実行していく。
設定ファイル(.cnf)の検索
SSHでSynologyNASに接続したら、以下のコマンドを叩いて既存の.cnfファイルがないか確認する。
sudo find /volume1/@appstore -iname "my.cnf" 2>/dev/null だいたい、「/volume1/@appstore/MariaDB10/xxx/xxx/mariadbxx/etc/mysqld.conf」のようなものがデフォルトで作成されているはず。
sudo catコマンドで中身を確認する。
sudo cat /volume1/@appstore/MariaDB10/xxx/xxx/mariadbxx/etc/mysqld.confすると、mysqld.confの中身が表示される。
DO NOT EDIT THIS FILE !!!
You can change the port on user interface of MariaDB10.
Please add other custom configuration to /var/packages/MariaDB10/etc/my.cnf
#
[client]
socket = /run/mysqld/mysqld10.sock
[mysqld]
bind-address = 0.0.0.0
socket = /run/mysqld/mysqld10.sock
pid-file = /run/mysqld/mysqld10.pid
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4000
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 240K
innodb_data_home_dir = /var/packages/MariaDB10/target/mysql
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/packages/MariaDB10/target/mysql
innodb_buffer_pool_size = 16M
innodb_file_per_table = 1
innodb_flush_method = fsync
synology_password_check = FORCE_PLUS_PERMANENT
[mysqld_safe]
open_files_limit=5000
[mysqldump]
quick
max_allowed_packet = 16M
この中のmax_allowed_packet = 16Mを拡張する必要がある。ただし、直接編集せずに/var/packages/MariaDB10/etc/my.cnfに設定値を書き込むよう注意書きがあるため、その通りに処理をする(人によってパスは違うかも)。
まずは、/var/packages/MariaDB10/etc/my.cnfがあるかを確認。
sudo cat /var/packages/MariaDB10/etc/my.cnfあってもなくても、以下のコマンドでmy.cnfを開く(または新規作成)。
sudo vi /var/packages/MariaDB10/etc/my.cnf(max_allowed_packetがない場合)
iキーを押して編集モードにする。画面下に「— INSERT —」と表示されればOK。
この状態で以下の内容を入力する。
[mysqld]
max_allowed_packet = 512MEscキーで編集モードを終了する(画面下– INSERT –が消える)。
(max_allowed_packetがすでに入力済みの場合)
矢印キーで「max_allowed_packet」の行にカーソルを合わせ、ddと入力するとその行が消える。
あとはiキーで編集モードにした上で「max_allowed_packet = 512M」のような形で更新したい値を入力する。
(max_allowed_packetがある場合・ない場合共通)
入力した値を保存する。保存は以下のコマンドを入力する。
:wq編集画面も保存と同時に閉じられて元のターミナルに戻るので、以下のコマンドで作成したファイルを読めるか確認する。
cat /var/packages/MariaDB10/etc/my.cnf書き込んだ値が表示されればOK。あとはMariaDBを再起動し、Wordpressに再ログインして記事を保存できるか確認するだけ。

コメント