shell脚本实例:添加mysql数据库、用户名、密码等

发布时间:2019-10-28编辑:脚本学堂
本文介绍一个shell脚本,用于添加mysql数据库,创建mysql的用户名与密码,以及远程主机信息等。有需要的朋友作个参考吧。

分享一个shell/ target=_blank class=infotextkey>shell脚本,可以用来添加mysql/ target=_blank class=infotextkey>mysql数据库,创建mysql的用户名与密码,以及远程主机信息等。

代码:
 

复制代码 代码示例:

#!/bin/bash
# 用来添加mysql、用户名与密码的shell 脚本
# 还可以在创建数据库时,赋予远程访问权限

_db="$1"
_user="$2"
_pass="$3"
_dbremotehost="$4"
_dbrights="$5"
 
## Path to mysql bins ##
mysql="/usr/bin/mysql"
## Mysql root settings ##
_madminuser='root'
_madminpwd='MySQL-PassWord'
_mhost='localhost'
 
# 确认至少提供了三个参数
[[ $# -le 2 ]] && { echo "Usage: $0 'DB_Name' 'DB_USER' 'DB_PASSORD' ['remote1|remote2|remoteN'] ['DB_RIGHTS']"; exit 1; }
 
# 权限检测
[[ -z "${_dbrights}" ]] && _dbrights="ALL"
 
# 构造 mysql查询
_uamq="${mysql} -u "${_madminuser}" -h "${_mhost}" -p'${_madminpwd}' -e 'CREATE DATABASE ${_db};'"
_upermq1="${mysql} -u "${_madminuser}" -h "${_mhost}" -p'${_madminpwd}' -e "GRANT ${_dbrights} ON ${_db}.* TO ${_user}@localhost IDENTIFIED BY '${_pass}';""
 
# 执行mysql查询
$_uamq
$_upermq1
 
# 在bash中循环读取远程主机的IP
# 建立queires授予权限,所有的远程网络服务器或主机通过IP使用相同的用户名
IFS='|'
for  i in ${_dbremotehost}
do
 _upermq2="${mysql} -u "${_madminuser}" -h "${_mhost}" -p'${_madminpwd}' -e "GRANT ${_dbrights} ON ${_db}.* TO ${_user}@${i} IDENTIFIED BY '${_pass}';""
 $_upermq2
done

调用示例:
1,数据库bar、用户名 tom,密码jerry
 

复制代码 代码示例:
./script.sh bar tom jerry

2,添加一个数据库为 bar,用户名为 tom, 密码为 jerry ,允许远程主机192.168.1.5或192.168.1.11访问:
 

复制代码 代码示例:
./script.sh bar tom jerry '192.168.1.5|192.168.1.11'

3,添加一个数据库为 bar,用户名为 tom, 密码为 jerry ,允许远程主机192.168.1.5或192.168.1.11访问,不过仅允许权限SELECT,INSERT,UPDATE,DELETE。
如下:
 

复制代码 代码示例:
./script.sh bar tom jerry '192.168.1.5|192.168.1.11' 'SELECT,INSERT,UPDATE,DELETE'