最近工作有mysql集群的需要,做個學(xué)習(xí)記錄脾还。
創(chuàng)建網(wǎng)橋
作用:容器可以直接通過容器名稱通信,不用設(shè)置IP。
docker network create mgc
目錄聂渊、配置文件初始化
mkdir -p /opt/mgc/config /opt/mgc/data01 /opt/mgc/data02 /opt/mgc/data03
chown -R 1001:1001 /opt/mgc
cat <<eof|tee /opt/mgc/config/my.cnf
[mysqld]
slow_query_log = on #開啟慢查詢?nèi)罩?slow_launch_time = 1 #慢查詢閾值
slow_query_log_file = mysql-slow.log #慢查詢?nèi)罩?innodb_buffer_pool_size = 256M #引擎緩存大小
innodb_file_per_table = 1 #表空間獨(dú)立存儲
max_connections = 500 #允許最大連接數(shù)
max_connect_errors = 1000 #允許最多鏈接錯誤次數(shù)
group_concat_max_len = 204800 #允許的最大長度
eof
節(jié)點(diǎn)1
docker run -itd --name mgc01 \
--hostname mgc01 \
--network mgc \
-p 3306:3306 \
-v /opt/mgc/config/my.cnf:/opt/bitnami/mariadb/conf/my_custom.cnf \
-v /opt/mgc/data01:/bitnami/mariadb \
-e MARIADB_GALERA_CLUSTER_BOOTSTRAP=yes \
-e MARIADB_GALERA_CLUSTER_ADDRESS=gcomm://mgc01,mgc02,mgc03 \
-e MARIADB_GALERA_MARIABACKUP_USER=mariabackup \
-e MARIADB_GALERA_MARIABACKUP_PASSWORD=mariabackup \
-e MARIADB_ROOT_PASSWORD=123456 \
-e MARIADB_REPLICATION_USER=replication \
-e MARIADB_REPLICATION_PASSWORD=replication \
--restart always bitnami/mariadb-galera
節(jié)點(diǎn)2
docker run -itd --name mgc02 \
--hostname mgc02 \
--network mgc \
-p 3307:3306 \
-v /opt/mgc/config/my.cnf:/opt/bitnami/mariadb/conf/my_custom.cnf \
-v /opt/mgc/data02:/bitnami/mariadb \
-e MARIADB_GALERA_CLUSTER_ADDRESS=gcomm://mgc01,mgc02,mgc03 \
-e MARIADB_GALERA_MARIABACKUP_USER=mariabackup \
-e MARIADB_GALERA_MARIABACKUP_PASSWORD=mariabackup \
-e MARIADB_ROOT_PASSWORD=123456 \
-e MARIADB_REPLICATION_USER=replication \
-e MARIADB_REPLICATION_PASSWORD=replication \
--restart always bitnami/mariadb-galera
節(jié)點(diǎn)3
docker run -itd --name mgc03 \
--hostname mgc03 \
--network mgc \
-p 3308:3306 \
-v /opt/mgc/config/my.cnf:/opt/bitnami/mariadb/conf/my_custom.cnf \
-v /opt/mgc/data03:/bitnami/mariadb \
-e MARIADB_GALERA_CLUSTER_ADDRESS=gcomm://mgc01,mgc02,mgc03 \
-e MARIADB_GALERA_MARIABACKUP_USER=mariabackup \
-e MARIADB_GALERA_MARIABACKUP_PASSWORD=mariabackup \
-e MARIADB_ROOT_PASSWORD=123456 \
-e MARIADB_REPLICATION_USER=replication \
-e MARIADB_REPLICATION_PASSWORD=replication \
--restart always bitnami/mariadb-galera
查看集群狀態(tài)
- 任意節(jié)點(diǎn)登錄
這里設(shè)置的密碼是123456,創(chuàng)建容器時傳入?yún)?shù)
MARIADB_ROOT_PASSWORD
指定遏匆。
docker exec -it mgc01 mysql -uroot -p
- mysql執(zhí)行下面的語句叁征。
SHOW STATUS LIKE 'wsrep_cluster%';
驗(yàn)證同步效果
任意節(jié)點(diǎn)導(dǎo)入SQL,或者創(chuàng)建庫吱涉、表刹泄,其它節(jié)點(diǎn)能查詢到相同的數(shù)據(jù)即可。
刪除也是一樣的怎爵。