Monterey: DBD::MySQLで難航

ときどき書いてますが,全ての交信データ(ログデータ)は,MariaDBに入れてます.そのマネージメントは,自作のPerlスクリプトと,PhpMySQLでやってます.

MariaDBはMySQLに完全に置き換え可能なもので,バイナリーコンパチということになっています.つまりMariaDBですが,コマンドはmysql(関連アプリはmysql_*)で,MySQLを利用するアプリも,MySQLで使用していた時のまま使えます.

そのため,MySQLとMariaDBは普通は共存させません.

しかし,MacPortsでは,何をどう考えてそうしているのか解りませんが,MySQLとMariaDBを共存させることができます.そのため,MariaDBを使うためには,明示的にMariaDBを指定しなければなりません.

自作のPerlスクリプトはMySQLと接続するため,CPANのDBD::MySQLというモジュールを使っています.このモジュールをMacPortsでインストールしようとすると,依存性のあるmysql57をbuildしようとしますが,cmakeがエラーを出して失敗します.ためしに,mysql56, 55も試しましたがダメです.

MacPortsでMariaDBのインストールは何の問題もなくできました😓

普通はMariaDBがあれば,DBD::MySQLで接続できるんですが,DBD::MariaDBなどというおかしなモジュールを介さなければならず,自作のスクリプトを書き換えなければなりません.それはたやすいことなんですが,移植性ががぜん落ちます

さて困りました.問題点を書き出せば,解決が見えてくるかなと思いましたが,今のところ何にも見えません😓

他に試したけど効果がなかったこと

  1. Oracle MySQL community serverのインストール(macOS版 v8.0.x)
これまで,Slackware x86_64, ARMと,macOSどちらでもパッチなしで動いていました.

ようやくCatalinaに(4) 〜bash to zsh は避け(逃げ)る〜

タイトルの通りなんですが,長年Linuxではbashでshellスクリプトを書いてきました.macOSも長いことbashが標準だったので,非常に具合が良かったわけですが,Catalinaからdefaultのinteractive shellがzshになりました.

あんまり変なことはしていないので,日常的に使っているscriptはzshで動くとは思いますが,bashを使うままで行きます.bashがディスコンになるとかいう日が来たら考えます.

Netatalk+Time Machineは2勝1敗に

遅まきのCatalinaへのupgrade問題からはそれますが,既にCatalinaにupgrade済みの家族用WS (以下 “FWS” )からも,Linux ARMのファイルサーバーにつなげた3TBにTime Machineによるバックアップを試みたところ,全く問題なく初回,その後の差分数回も成功しています.ということで,この組み合わせは2勝1敗となりました.

Macbookからだけだと,3TBは使い切れないので,冗長性を増やすという意味合いで,FWSからのバックアップは,テストにとどめずこのまま継続することにします.

ちなみに,このFWSはかなり古いMac miniで,Catalinaまではupgradeできましたが,Big Surへのupgradeボタンが表示されませんので,サポート打ち切りのようです.

2-coreのCore i7.

ようやくCatalinaに(3) 〜Netatalk+Time Machineは1勝1敗〜

Linux ARMのサーバーに3TBのドライブをつなぎ,Netatalk(afp)でTime Machine用のNASにして,Macbookからバックアップをかけたら,初回,その後の追加バックアップも問題なく実行できるようになりました.

さらに検証のため,メインWorkstationであるMac mini core i7からもバックアップを仕掛けたら,初回の途中でエラーとなり(開始からまる2日くらい経った頃😓),その後続きのバックアップを何度となくしてもエラーになって継続できませんでした.

ということで,Linux ARMのサーバーにつないだ大容量ドライブをTime Machine用NASとして使った場合1勝1敗の結果となりました.

本来のバックアップ対象であるMacbookのほうは問題なくバックアップが継続できているので,良しとします,

ようやくCatalinaに(2) 〜Time Machineは構成変更〜

前回,メインのWorkstation (Mac mini core-i5以下旧WS)をCatalinaにした時,旧WSにつないだ外付けドライブをMacbookからのTime Machine用のドライブに使えなくなった(WSがMojaveまでは問題なく使えていた)のが,WSをMojaveに戻した大きな理由のひとつでした.

今回も現行のメインWorkstation(WS)につないだドライブをMacbook (こちらは既にCatalina) からafpでつなぐと,これまでTime Machine用に見えていたドライブ(2.5″ HDD 3TB)がマウントできません(マウントの候補として見えてこない).Formatし直して試しましたが,やはりそれでもマウントの候補になりません.

しからばとsmbでつないでみると,初回のバックアップはできます(要まる1日)が,追加のバックアップでドライブに接続できないとかなんか文句を言って,使えなくなりました(記憶では,追加の1回目はできたと思いますが,2回目ができませんでした).

たぶんこれらは,旧WSをCatalinaにした時経験したことそのまんまだと思います.

Macbookにドライブをつなぐことも考えましたが,ドック経由でつながなければならないので,ノートパソコンの簡便性がなくなってしまいます.

そこで,思い出して,Slackware ARMのサーバーにその3TBをつないで,Netatalk経由でマウントしてバックアップを試みたところ,何の問題もなくできました(ext4のformatに半日かかりましたが😓).

これで当分行きます.