aptが動かなくなってしまったvps。
VMのバックアップをとって、データベースをSQLでエクスポート。
mariadbとmysqlのパッケージを削除。
データベースのSQLエクスポートファイルを流し込んでオシマイ。
のはずだった。
しかし、rdbmsの管理dbがどんな役割をしているか理解していなかった。
dbの管理ツールが、ローカルpcから接続できない。
sshトンネル接続なので、dbからすれば自分自身のマシンからアクセスされているのと同じだが、それてもIP指定でポートにアクセスするので、外部接続と同じなことになかなか気づかなかった。
rootアカウントからのアクセス権限の設定が良くない。
rootアクセス権限を修整して、ツールが接続できた。
ところが今度はSQLの流し込みで管理DBのテーブルへの、データインポートでエラー。
SQLファイルは全てのDBをまとめて1ファイルにしていたので、エラーとなった文の後からを切り出して少しずつ流し込むことに。
流し終わって、wordpress modxevolutionともに記事が表示されたので、手順はOKと判断。
リストア用のSQLを作り直したいので、バックアップから一旦復旧。
MYSQLデータベースのUSERテーブルと、管理データベースのみをバックアップして、mariadbを再デプロイ。
rootユーザの権限だけ直して、バックアップsqlを流してcmsをチェック。
問題ない。
続いてメールからの記事の追加をチェック。
あれ?追加されない。
まずはWordPressの管理画面にログインしてみる。
できない。
パスワードが違うのかと思い、再設定のメールを送信するが、URLを表示してもダメ。
次にmodxの管理画面。
こちらは、phpのエラーメッセージが表示される。
内容はメモリ不足。
php.iniを変更してメモリサイズを増やしてもダメ。
さんざん調べて原因はそれぞれのcmsのdbのユーザーアカウント更新系の権限が無かったこと。
ユーザーテーブルはバックアップしたsqlから復活させたので、問題ないと思ったのがそうじゃなかった。
多分information schemaかperformance schemaテーブルあたりに、ユーザーのdbに対する権限情報が記録されているのだろう。
アップデートが完了するまでほぼ1日かかってしまった。