ベースのドッキングウィンドウ達成mariadbガレラクラスタ

環境設定:

ノード名 IPアドレス
node01 192.168.10.207
node02 192.168.10.167

基本的な環境設定:

  1. 削除firewalld
yum remove firewalld -y
  1. 閉じるのselinux
sudo vim  /etc/selinux/config

以下を変更します。
SELINUX =無効

  1. インストールiptablesの-サービス、bashの補完
yum install -y iptables-services bash-completion
systemctl enable iptables
systemctl start iptables
iptables -F
service iptables save
systemctl restart iptables
  1. ホストのホスト名解決を追加します
cat /etc/hosts
192.168.10.207	node01
192.168.10.167 node02
  1. 追加希望mariadb iptablesのルールセット
iptables -A INPUT -p tcp -m multiport --dport 3306,4567,4444 -j ACCEPT

クラスタ展開ガレラ

1.ダウンロードし、最新のドッキングウィンドウのミラーmariadb 10.3.10

docker pull mariadb:10.3.10

2. mariadbプロファイルとmariadbデータを保存するために、ディレクトリデータベースのニーズを作成します。

mkdir -p /opt/mariadb/conf
mkdir -p /opt/mariadb/data

ノード1ノード操作:
1.最初の実行mariadb、実行ノードnode01の目的。ホストにコピーMariaDBの設定ファイルは/ opt / mariadb / dataディレクトリ内のデータベースファイルを生成
ドッカーRUNを-d
-name MariaDB-amdha01
-vは/ opt / mariadb /データ:の/ var / libに/ MySQLの
-e MYSQL_ROOT_PASSWORD = 123456
MariaDB:10.3.10
2.コピーMariaDBコンテナの設定ファイルは/ opt / mariadb / confにディレクトリへ

docker cp mariadb-node01:/etc/mysql /opt/mariadb/conf

3. [コンテナへとリモート着陸与えられたMySQLの権限データベースMySQLデータベースコマンドの動作に

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '' WITH GRANT OPTION;

4.終了コンテナと(母親が必要なの/ opt / mariadb /データディレクトリデータファイルにデータベースを生成することである前に、コンテナが削除されます)コンテナを削除

docker sotp mariadb-node01 && docker rm mariadb-node01

5.コピー修正は/ opt / mariadb / my.cnfの設定ファイルディレクトリのconf [ガレラ]構成セクション

[galera]
# Mandatory settings
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://192.168.10.207:4567,192.168.10.167:4567
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=192.168.10.207
wsrep_slave_threads=1
innodb_flush_log_at_trx_commit=0

前記第2のブートmariadb容器node01ノード、-wsrep新しいクラスタパラメータを追加する最初のクラスタデータベース必要で始まります

docker run -d \
--name mariadb-node01 \
-p 3306:3306 \
-p 4567:4567 \
-p 4444:4444 \
-v /opt/mariadb/conf:/etc/mysql \
-v /opt/mariadb/data/:/var/lib/mysql \
-e MYSQL_ALLOW_EMPTY_PASSWORD=yes  \
-e TIMEZONE=Asia/Shanghai \
mariadb:10.3.10 --wsrep-new-cluster

node02でノード操作
1.最初の実行mariadb、実行ノードとnode02の目的。ホストにコピーMariaDBの設定ファイルは/ opt / mariadb / dataディレクトリ内のデータベースファイルを生成します

docker run -d \
--name mariadb-node02 \
-v /opt/mariadb/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mariadb:10.3.10

/ opt / mariadb / confにディレクトリをコピーmariadbコンテナの設定ファイル

docker cp mariadb-node02:/etc/mysql /opt/mariadb/conf

容器へと遠隔着陸所与のMySQL権限データベースMySQLデータベースコマンドの動作に3

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '' WITH GRANT OPTION;

4.終了コンテナと(母親が必要なの/ opt / mariadb /データディレクトリデータファイルにデータベースを生成することである前に、コンテナが削除されます)コンテナを削除

docker sotp mariadb-node02 && docker rm mariadb-node02

5.コピー修正は/ opt / mariadb / my.cnfの設定ファイルディレクトリのconf [ガレラ]構成セクション

[galera]
# Mandatory settings
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://192.168.1010.207:4567,192.168.10.167:4567
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=192.168.10.167
wsrep_slave_threads=1
innodb_flush_log_at_trx_commit=0

前記第2のブートmariadb容器node01ノード、-wsrep新しいクラスタパラメータを追加する最初のクラスタデータベース必要で始まります

docker run -d \
--name mariadb-node02 \
-p 3306:3306 \
-p 4567:4567 \
-p 4444:4444 \
-v /opt/mariadb/conf:/etc/mysql \
-v /opt/mariadb/data/:/var/lib/mysql \
-e MYSQL_ALLOW_EMPTY_PASSWORD=yes  \
-e TIMEZONE=Asia/Shanghai \
mariadb:10.3.10 --wsrep-new-cluster

ガレラクラスタが正常に動作していることを確認し

show status like '%wsrep%';

リンク

公開された44元の記事 ウォンの賞賛0 ビュー940

おすすめ

転載: blog.csdn.net/qq_39122146/article/details/104070832