MySQL my.cnf設定をJSONに変換する

MySQLのmy.cnf(Windowsではmy.ini)設定ファイルをJSONに変換します。client、mysqld、mysqldumpセクションと固有オプションを解説します。

Common Files

詳細な説明

MySQL my.cnfからJSONへ

MySQLのmy.cnf(Windowsではmy.ini)は、MySQLデータベースサーバーとクライアントプログラムの主要な設定ファイルです。異なるMySQLプログラム用のセクションを持つINI形式を使用します。

my.cnfの例

[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
default-character-set = utf8mb4

[mysqld]
port = 3306
datadir = /var/lib/mysql
max_connections = 200
innodb_buffer_pool_size = 1G

[mysqldump]
quick
max_allowed_packet = 64M

生成されるJSON

{
  "client": {
    "port": 3306,
    "socket": "/var/run/mysqld/mysqld.sock",
    "default-character-set": "utf8mb4"
  },
  "mysqld": {
    "port": 3306,
    "datadir": "/var/lib/mysql",
    "max_connections": 200,
    "innodb_buffer_pool_size": "1G"
  },
  "mysqldump": {
    "quick": true,
    "max_allowed_packet": "64M"
  }
}

MySQL固有の考慮事項

  • 値なしキー: [mysqldump]quick=記号のないブーリアンフラグで、trueとして扱われます
  • サイズサフィックス: 64M1Gなどの値は単位サフィックスを含み文字列のまま残ります
  • 複数プログラム: 各セクションは異なるMySQLプログラムを設定します

ユースケース

Webインターフェースを通じてインフラエンジニアが設定を変更し、異なるサーバーロール(プライマリ、レプリカ、分析)に最適化されたmy.cnfファイルを生成するMySQL設定管理システムの構築。

試してみる — INI \u2194 JSON Converter

フルツールを開く