写了一个本地/远程MySQL批量添加用户的Shell脚本

MySQL批量添加用户的Shell脚本,可以本地MySQL添加,也可是远程MySQL数据库服务器

代码如下:

  1. #!/bin/bash
  2. _db="$1"
  3. _user="$2"
  4. _pass="$3"
  5. _dbremotehost="$4"
  6. _dbrights="$5"
  7. ## Path to mysql bins ##
  8. mysql="/usr/bin/mysql"
  9. ## Mysql root settings ##
  10. _madminuser='root'
  11. _madminpwd='MySQL-PassWord'
  12. _mhost='localhost'
  13. # make sure we get at least 3 args, else die
  14. [[ $# -le 2 ]] && { echo "Usage: $0 'DB_Name' 'DB_USER' 'DB_PASSORD' ['remote1|remote2|remoteN'] ['DB_RIGHTS']"; exit 1; }
  15. # fallback to ALL rights
  16. [[ -z "${_dbrights}" ]] && _dbrights="ALL"
  17. # build mysql queries
  18. _uamq="${mysql} -u "${_madminuser}" -h "${_mhost}" -p'${_madminpwd}' -e 'CREATE DATABASE ${_db};'"
  19. _upermq1="${mysql} -u "${_madminuser}" -h "${_mhost}" -p'${_madminpwd}' -e /"GRANT ${_dbrights} ON ${_db}.* TO ${_user}@localhost IDENTIFIED BY '${_pass}';/""
  20. # run mysql queries
  21. $_uamq
  22. $_upermq1
  23. # read remote host ip in a bash loop
  24. # build queires to grant permission to all remote webserver or hosts via ip using the same username
  25. IFS='|'
  26. for i in ${_dbremotehost}
  27. do
  28.       _upermq2="${mysql} -u "${_madminuser}" -h "${_mhost}" -p'${_madminpwd}' -e /"GRANT ${_dbrights} ON ${_db}.* TO ${_user}@${i} IDENTIFIED BY '${_pass}';/""
  29.       $_upermq2
  30. done
复制代码

使用时先把代码存入名为 addmysqlusers.sh 的脚本文件里,
#chmod +x addmysqlusers.sh

本地批量添加:
./addmysqlusers.sh bar tom jerry

远程批量添加,多个远程服务器用 | 隔开:
./addmysqlusers.sh bar tom jerry '192.168.1.5|192.168.1.11'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值