このブログをさくらのエンハンスドデータベースに移行する。さくらのエンハンスドデータベースは MariaDB なのだけど、Labs 機能なので無料なのが良い。どうせ多少落ちてもいいし、バックアップは mysqldump したものを暗号化してさくらのオブジェクトストレージにアップロードするようにしたのでデータが失われるようなこともあるまい。
DigitalOcean から mysqldump して mysql コマンドで さくらのクラウド の方に入れていく。
インポート先は MariaDB であることに留意が必要。
mysql> select version();
+---------------------+
| version() |
+---------------------+
| 10.11.2-MariaDB-log |
+---------------------+
1 row in set (0.03 sec)
ERROR 1227 (42000) at line 18: Access denied; you need (at least one of) the SUPER, BINLOG ADMIN privilege(s) for this operation
というエラーが出た。
GTID 関連の権限が足りていないようなので権限を調整する。
mysqldump に --set-gtid-purged=OFF
をつけることで解決する。
See https://dev.mysql.com/doc/refman/8.0/en/replication-multi-source-provision-replica.html
次は以下のようなエラーが出てきた。
ERROR 1128 (HY000) at line 25: Function 'ngram' is not defined
FTS 周りの問題が出てきたようだ。
perl -pe 's/WITH PARSER `ngram`//;s/utf8mb4_0900_ai_ci/utf8mb4_general_ci/g' ~/Documents/20241228-blogbackup.sql
とかして削除すれば良さそう。
ということで、移行完了。
コンピューティングノードは DigitalOcean のシンガポールのデータセンターなので接続が遅い。 ので、コンピューティングノードも国内に移動させたい。