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"