GA

2020/02/19

CentOS 7のAMIでEC2を起動してGroup Replicationを組むところまでを何も考えずに

TL;DR

  • 毎回ちょこちょこ打ち込むのが面倒になったのでコピペ用に
  • まだGroup Replicationを調べるのがメインなのでMySQL Routerはどうにもしてない

Group Replicationに加わる全てのノードで

sudo -i
setenforce 0
yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
yum install -y mysql-community-server mysql-shell
mysqld --initialize-insecure --user=mysql
systemctl start mysqld

cluster_user="gradmin"
cluster_pass="grtest"
cluster_name="myfabric"

mysqlsh -- shell.options set_persist history.autoSave true
mysqlsh --uri=root:""@localhost -- dba configureInstance '' { --clusterAdmin=$cluster_user --clusterAdminPassword=$cluster_pass --interactive=false --restart=true }
until mysqladmin ping ; do
  sleep 1
done

最初の1台になるノードでだけ

  • 変数は引き継いでるつもりで
mysqlsh --uri=$cluster_user:$cluster_pass@localhost -- dba createCluster $cluster_name

### 追加したいノードぶんこれやる
node=xxx.xxx.xxx.xxx
mysqlsh --uri=$cluster_user:$cluster_pass@localhost --cluster -- cluster addInstance "$cluster_user:$cluster_pass@$node" { --recoveryMethod=clone }

忘れそうなポイントだけ。
  • mysqlsh --cluster
    • 接続先がInnoDB Clusterに属していれば、 cluster = dba.getCluster() 相当のことを勝手にやってくれるのでいきなり cluster オブジェクトが使える
  • mysqlsh -- ..
    • 名前空間を区切っているドットは書かない。
    • MySQL Shell内部だと {"param":"value","hoge":"fuga"} みたいな形式で渡すやつは不思議形式で記述しないといけなくなる
      • { --param=value --hoge=fuga }

0 件のコメント :

コメントを投稿