github.com/ecodeclub/eorm@v0.0.2-0.20231001112437-dae71da914d0/script/mysql/master/master.sh (about)

     1  #!/bin/bash
     2  #定义用于同步的用户名
     3  MASTER_SYNC_USER=${MASTER_SYNC_USER:-sync_admin}
     4  #定义用于同步的用户密码
     5  MASTER_SYNC_PASSWORD=${MASTER_SYNC_PASSWORD:-123456}
     6  #定义用于登录mysql的用户名
     7  ADMIN_USER=${ADMIN_USER:-root}
     8  #定义用于登录mysql的用户密码
     9  ADMIN_PASSWORD=${ADMIN_PASSWORD:-root}
    10  #定义运行登录的host地址
    11  ALLOW_HOST=${ALLOW_HOST:-%}
    12  #定义创建账号的sql语句
    13  CREATE_USER_SQL="CREATE USER '$MASTER_SYNC_USER'@'$ALLOW_HOST' IDENTIFIED BY '$MASTER_SYNC_PASSWORD';"
    14  #定义赋予同步账号权限的sql,这里设置两个权限,REPLICATION SLAVE,属于从节点副本的权限,REPLICATION CLIENT是副本客户端的权限,可以执行show master status语句
    15  GRANT_PRIVILEGES_SQL="GRANT SELECT,REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO '$MASTER_SYNC_USER'@'$ALLOW_HOST';"
    16  #定义刷新权限的sql
    17  FLUSH_PRIVILEGES_SQL="FLUSH PRIVILEGES;"
    18  #执行sql
    19  mysql -u"$ADMIN_USER" -p"$ADMIN_PASSWORD" -e "$CREATE_USER_SQL $GRANT_PRIVILEGES_SQL $FLUSH_PRIVILEGES_SQL"