MySQL
mariadb
docker

docker runコマンドライン MariaDB Galera Cluster 5.5 (kudotty/mariadb-galeracluster-5.5)

More than 3 years have passed since last update.


MariaDB Galera Cluster 5.5 (kudotty/mariadb-galeracluster-5.5)


  • 鍵・証明書関係は、以下のtrustyブランチでBOOTモード起動すれば自動生成してくれる (が、それより先でtrustyブランチは起動にコケる)
    https://github.com/nsasikumar/mariadb55/tree/trusty

  • 2014/5現在では、trustyブランチで鍵・証明書関係を作り、masterブランチというかDocker Indexからのもので運用

  • fishで以下のように定義済み

    ~/.config/fish/config.fish

    alias dl "docker ps -l -q"

    alias dlip "docker inspect (dl) | grep IPAddress | cut -d '\"' -f 4"


  • zsh,bashでは(dl)ではなく`dl`、(hostname -f)ではなく`hostname -f`


  • クラスタ内全ノードで、空の状態からの最初のBOOTモード起動 (初期DBを整えてくれたりする)

    docker run --name mariadbgalera_boot -v /srv/mariadbgalera/data:/var/lib/mysql -v /srv/mariadbgalera/ssl:/etc/ssl/mysql -p 3306:3306 -e CLUSTER=BOOT -d kudotty/mariadb-galeracluster-5.5 mariadb-start


  • クラスタ内全ノードで、BOOTモードでの起動をstop

    docker stop (dl)


  • クラスタ初期ノードでのみ、INITモードで起動

    docker run --name mariadbgalera_init -v /srv/mariadbgalera/data:/var/lib/mysql -v /srv/mariadbgalera/ssl:/etc/ssl/mysql -p 3306:3306 -p 4567:4567 -p 4444:4444 -e CLUSTER=INIT -e NODE_ADDR=(hostname -f) -d kudotty/mariadb-galeracluster-5.5 mariadb-start


  • 初期ノード以外の全てのノードで、CLUSTERモードで起動

    docker run --name mariadbgalera_clustered -v /srv/mariadbgalera/data:/var/lib/mysql -v /srv/mariadbgalera/ssl:/etc/ssl/mysql -p 3306:3306 -p 4567:4567 -p 4444:4444 -e CLUSTER=ノード1のFQDN,ノード2のFQDN,ノード3のFQDN -e NODE=(date --universal +%Y%m%d%H%M%S%) -e NODE_ADDR=(hostname -f) -d kudotty/mariadb-galeracluster-5.5 mariadb-start


  • 初期ノードでINITモードをstopさせ、他のノードと同じくCLUSTERモードで起動 (クラスタ全体で3ノード以上ないとこれは出来ない。だから最低3ノード必要)

    docker stop (dl)

    docker run --name mariadbgalera_clustered -v /srv/mariadbgalera/data:/var/lib/mysql -v /srv/mariadbgalera/ssl:/etc/ssl/mysql -p 3306:3306 -p 4567:4567 -p 4444:4444 -e CLUSTER=ノード1のFQDN,ノード2のFQDN,ノード3のFQDN -e NODE=(date --universal +%Y%m%d%H%M%S%) -e NODE_ADDR=(hostname -f) -d kudotty/mariadb-galeracluster-5.5 mariadb-start


  • 確認は

    mysql -h (dlip) -u adminuser --ssl-ca=/srv/mariadbgalera/ssl/ca.pem --ssl-cert=/srv/mariadbgalera/ssl/client-cert.pem --ssl-key=/srv/mariadbgalera/ssl/client-key.pem

    MariaDB> show status like 'wsrep_%';


  • Dockerホスト再起動時のDockerコンテナの再起動は、Upstart設定ファイルで。

    http://docs.docker.io/use/host_integration/

    その際、コンテナ名mariadbgalera_clusteredを起動するようにするとBOOTモード・INITモードが誤起動せず、通常運用のCLUSTERモードで起動する。コンテナ名を起動モードによって使い分けるのがポイント