この記事はだいたい 4 分ほどで読めます。
そろそろバックアップしとかないとと思ってdumpを取ろうとしたらエラーが発生しました。
結果的にdumpの出力ができるようになったのでその時に行った内容を備忘録として記事にしました。

目次
環境
サーバーのバージョンはこちらです。
# cat /etc/redhat-release CentOS Linux release 7.8.2003 (Core)
MariaDBのバージョンはこちらです。
# mysql -V mysql Ver 15.1 Distrib 10.4.12-MariaDB, for Linux (x86_64) using readline 5.1
dump出力実行
mysqldumpコマンドを使ってdumpの出力を実行します。
# mysqldump -u root -p -x --all-databases --events > dump.sql Enter password: mysqldump: Couldn't execute 'show events': Cannot proceed, because event scheduler is disabled (1577)
エラーが発生しました。
とりあえず調べることにします。
データベース更新の反映設定
いろいろ調べた結果、データベースの更新の反映設定をしないとこのエラーが発生するらしいことが分かりました。
このことに関して心当たりがあります。
MariaDBのバージョンアップ
dumpを出力する前にMariaDBのバージョンアップ作業を行っています。
CentOS7にインストールされるMariaDBのバージョンはこちらです。
# mysql -V mysql Ver 15.1 Distrib 5.5.65-MariaDB, for Linux (x86_64) using readline 5.1
バージョン5.5.65となっています。
このバージョンはWordPressの推奨されているバージョン(10.x)ではなかったので手動でアップデートを行いました。
この手動でのアップデート作業に不備があったものと考えられます。
作業前といっても数日前でデータベース自体はちゃんと動いているようだったので全く気づきませんでした。
mysql_upgrade
mysql_upgradeコマンドを使って更新の反映を行います。
# mysql_upgrade -u root -p --verbose Enter password: Looking for 'mysql' as: mysql Looking for 'mysqlcheck' as: mysqlcheck Phase 1/7: Checking and upgrading mysql database Processing databases : Phase 7/7: Running 'FLUSH PRIVILEGES' OK
エラーもなく無事完了しました。
いったんMariaDBのサービスを再起動します。
# systemctl restart mariadb
気を取り直して、もう一度チャレンジします。
mysqldumpコマンドを実行してdumpの出力を行います。
# mysqldump -u root -p -x --all-databases --events > dump.sql Enter password:
正常終了しました。
ファイルもできてました。
まとめ
mysql_upgradeコマンドを実行することによりdumpが出力されるようになりました。
dumpを出力する前のMariaDBを10.4に手動でバージョンアップしていた作業で更新の反映設定とやらをやってなかったため発生したんだと思われます。
この手動でのバージョンアップ作業はPHPでも行っています。
PHPの最新バージョンがCentOS7では自動でアップデートされないためです。
ちなみにCentOS7でインストールされるPHPのバージョンはこちらです。
# php -v PHP 5.4.16 (cli) (built: Apr 1 2020 04:07:17) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
バージョン5.4.16です。これもWordPressの推奨バージョンを満たしていないためバージョンアップを行いました。
サーバーをセットアップしながら若干失敗したかなって気がしました。
しかし最新バージョンのCentOS8の情報があまりなさそうだったのでCentOS7でそのままセットアップを継続した経緯があります。
難しい。
おわり。