ホーム » コンピュータ » Linux » Debian » mysql5.6からmariadb10.6の更新

システム

最近の投稿

アーカイブ

カテゴリー

mysql5.6からmariadb10.6の更新

事の始まりは、職場で管理しているサーバに、サーバ監視ソフト icinga を入れたいけど、新しくセットアップしたサーバなので、古い icinga1 が使えず icinga2 を入れたかった。しかし上手くいかないので、自宅サーバで検証してから….ということで、自宅サーバに icinga2 を入れようとしたら、mysql-5.6 では古いみたいで、新しい データベースサーバを入れようとして、これで自宅サーバの wordpress が動かなくなって四苦八苦。

 

mysqlのバージョンアップ

mysql のバージョンを上げようと、ダメだったら元に戻せばいいや… と安易に考え、mysql-server-8.0 に上げる。しかし、mysql が起動しなくなった。どうも、mysql 5.6 → 5.7 → 8.0 と上げないと構成の違いで起動しなくなるみたい。でも、自宅サーバで wordpress が動かなくなるのは不便なので、ひとまず mysql-5.6 に戻そうとしたら….. 5.6 は古すぎて元のパッケージがインストールできなくなってた。(x_x;

# wordpress のトラブルを怖がって、データベースパッケージの更新を手抜きしていたのが悪い。

mariadb-10.6 への移行で文字化け

しかたがないので、商用パッケージに移行している mysql ではなく、その無償版ブランチの mariadb に移行させた。しかし、こんどは文字化け。utf8 を DB 内部での保存方法の問題(utf8mb3→utf8mb4)みたい。

mysql-community-5.6 のインストールもダメ

これまた不便なので、一時的に mysql の本家から mysql-5.6 をインストールしてみたが、パッケージ依存が色々発生したようで、これまた入れるのにひと手間。んで、ようやく入ったと思ったら、起動しない。(T_T;

mariadb-10.6 再チャレンジで成功

んで、あーだこーだと色々がんばって、最終的には mariadb-10.6 でようやく動くようになった。最終的な教訓は、mysql と mariadb だけど、debian でのアップグレードなら、文字コード問題は発生しないように、古い utf8 設定のデータベースは、utf8mb3 設定にしてくれたみたいで、何も変更の必要はなかった。下手なバックアップからのリカバリーで文字コードが変になったみたい。普通に、mysql5.6 のバックアップで /var/lib/mysql を総復旧かけて元通りになった。 mysql8.0, mysql-community-5.7 の悪あがきは、無駄な一苦労だった。

んで、何がしたかったんだっけ…. icinga2 を入れるんだ! でも、今日はもういいや。

追記:データベースの破損とバックアップからのリカバリー

ひとまずの修復が終わったと思って、mariadb への更新に合わせ、データベースの文字コード問題 utf8mb3 から utf8mb4 の変更とおもって、データベースのフルバックアップをしようと思ったらエラーがでる。どうも、色々と作業をしていたら、データベースの一部ファイルが壊れているみたい。

今回の作業直前にバックアップしたファイルからリカバーを行おうとしたけど、エラーがでて復旧に失敗する。

しかたがないので、/var フォルダの tar バックアップから復旧を行う。2週間ほど前のバックアップなので、ちょっと記事が消えたかもしれないけど、しかたがないな。

$ sudo systemctl stop mariadb
$ sudo tar zxvf /...PATH.../var.tar.gz -C / var/lib/mysql
$ sudo systemctl start mariadb

Google 検索

My Google   Yahoo

Microsoft

ファンサイト