Dockerでmariadbバージョンアップ(詳細編1-mariadb10.11のコンテナを作る)
概要編から参照されるための詳細編1。 local-linuxでmariadb10.11のコンテナを作る docker-composeからビルドと起動できるようにする。 設定ファイルの準備とdocker-compose.ymlの追記 設定ファイルや置き場を用意しながら、mariadb10と11を共存させる。 最近知ったけど、redhat8のアプリケーション管理にはストリームってのがあって、同じアプリでも違うバージョンを共存させられない。 昔はポート番号変えて新旧データベースを共存させられたような気がする。 dockerありがたや。 mariadb本体の設定ファイルの用意 docker単体なら一発起動でええけど、docker-composeでオーケストレーションしてるから、永続化領域にmariadbの設定ファイルとか置いて準備してく。 まずは永続化領域に設定ファイル置き場の作成。 sv_mariadbconfには設定ファイル以外にも、コンテナ内でバックアップとリストアを動かすためのスクリプトが入ってる秘伝のタレみたいなもん。 1 2 cd nariDockerDat cp -pR sv_mariadbconf sv_mariadb11conf djangoからモデル経由でテーブルを扱うとき、pdfとjpegをblob列に保管してる。 設定で必要なのは、この保管ができるようにmax_allowed_packetを書いとく必要がある。 phpで使ってた頃からほぼ内容そのまま。 さっきコピーした内容でそのまま使えるはず。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [mysqld] max_allowed_packet=1024M log_warnings=1 query_cache_size=640M query_cache_type=1 query_cache_limit=1280M innodb_buffer_pool_size=5120M innodb_log_file_size=128M read_buffer_size=320M log-error=/var/log/mariadb.log slow_query_log slow_query_log_file=/var/log/mariadb_slow.log long_query_time=30 innodb_data_file_path=ibdata1:1G innodb_file_per_table=ON [mysqldump] max_allowed_packet=1024M データ置き場と環境変数の用意 dockerで動かすときにはdocker-entrypoint.shとかhealthcheck.shが必要。 ...