Ubuntu の Mysql と PowerDNS のバージョン組み合わせでRestAPIが使えなくなる現象について
Ubuntu の Mysql と PowerDNS のバージョン組み合わせでRestAPIが使えなくなる現象について
ある仕事でオフラインの Ubuntu に debパッケージで mysql-server と PowerDNS をインストールし、
運用ではスケジュールで各マシンのIP情報を監視し、変更内容をバッチコマンドの RestAPIで DNS情報を更新するような使い方だったのですが、
通常のdebパッケージだけでインストールしたら何故か RestAPIでの DNS情報の更新ができない現象になったので、
同じ現象で困った人は以下にこの現象になった環境を記載しますので、対処方法を参考にしていただければ幸いです。
現象環境
OS | DNS | DB |
---|---|---|
Ubuntu20.04 | pdns-server_4.2.1-1build2 | mysql-server_8.0.22-0 |
- 主に使用したdebパッケージ
-
libmysqlclient21_8.0.22-0ubuntu0.20.04.3_amd64.deb
mysql-client_8.0.22-0ubuntu0.20.04.3_all.deb
mysql-client-8.0_8.0.22-0ubuntu0.20.04.3_amd64.deb
mysql-client-core-8.0_8.0.22-0ubuntu0.20.04.3_amd64.deb
mysql-common_5.8+1.0.5ubuntu2_all.deb
mysql-server_8.0.22-0ubuntu0.20.04.3_all.deb
mysql-server-8.0_8.0.22-0ubuntu0.20.04.3_amd64.deb
mysql-server-core-8.0_8.0.22-0ubuntu0.20.04.3_amd64.deb
pdns-server_4.2.1-1build2_amd64.deb
pdns-backend-bind_4.2.1-1build2_amd64.deb
pdns-backend-mysql_4.2.1-1build2_amd64.deb
- (関連パッケージを入れると多くなってしまうので割愛させていただきます。)
インストールは検索などで得た上記のようなパッケージでそのままインストールして問題ありませんが、
PowerDNS 用の初期設定で使う Mysql 用スキーマ(テーブル作成SQL) に問題がありました。
パッケージは以下のものになります。
pdns-backend-mysql_4.2.1-1build2_amd64.deb
インストールされると下記にMySQL用のスキーマが下記 Dir に入ります。
/usr/share/pdns-backend-mysql/schema/schema.mysql.sql
これをそのまま実行して初期設定をしたら何故か RestAPIでの DNS情報の更新ができない現象になりました。
設定ファイルの
/etc/powerdns/pdns.conf
api=yes
になっているので、APIは使えるはずです。。。
考察
まず、大きな違いのあるアップデートを考えると、Mysql の バージョンアップでの utf8mb4 対応などが思い付きました。
utf8 の4バイト文字対応です。
これを原因とするトラブル対応はいろいろあったのでこれに関わる部分を修正する事にしました。
対処方法
予想で対処したのですが、結果は正常に各機能が動作するようになったのでこの方法を記載します。
インストール用スキーマの内容を確認。
各テーブル内の項目毎に文字列部分には utf8 を指定していたので、
この部分を削除
VARCHAR(40) CHARACTER SET 'utf8' DEFAULT NULL,
↓ ↓ ↓
VARCHAR(40) DEFAULT NULL,
項目ではなく、各テーブルのデフォルト文字列を utf8mb4 に変更。
Engine=InnoDB CHARACTER SET 'latin1';
↓ ↓ ↓
Engine=InnoDB CHARACTER SET 'utf8mb4';
一度作成されたDatabaseを削除して、この修正したスキーマで初期設定を行い起動する事で RestAPI で DNS情報を更新できるようになりました。
今後のPowerDNS 側のアップデートで対応される事を期待しております。
Author And Source
この問題について(Ubuntu の Mysql と PowerDNS のバージョン組み合わせでRestAPIが使えなくなる現象について), 我々は、より多くの情報をここで見つけました https://qiita.com/10suzuki/items/8b108a16417db6784ecc著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .