中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

shell循環和函數引用

發布時間:2020-08-18 14:02:04 來源:網絡 閱讀:473 作者:知者不言 欄目:數據庫
#!/bin/bash
#菜單
function menu(){
echo -e "\t\t\t************************"
echo -e "\t\t\t*       操作數據庫     *"
echo -e "\t\t\t************************"
echo -e "\t\t\t* 1、登錄數據庫        *"   
echo -e "\t\t\t* 2、創建用戶或增加權限*"
echo -e "\t\t\t* 3、sql語句操作數據庫 *"
echo -e "\t\t\t* 4、更改用戶密碼      *"
echo -e "\t\t\t* 0、退出              *"
echo -e "\t\t\t************************"
}
#輸入mysql的用戶名和密碼
function input(){
echo -e "\t\t\t請登錄數據庫"
read -p "請輸入mysql用戶名:" user
read -s -p "請輸入mysql的密碼:" passwd
}
#判斷輸入的用戶名密碼是否正確
function panduan(){
mysql -u$user -p$passwd -e exit 1>/dev/null 2>&1
if [ $?!= 0 ]
then
echo -e "\n\t\t\t用戶名或密碼錯誤,請重新輸入!"
input
else
echo -e "\n\t\t\t數據庫登錄成功!"
fi
}
#創建用戶并授權
function createuser(){
echo -e "已存在的用戶如下,如果輸入的用戶已存在,則增加該用戶到權限"
mysql -u$user -p$passwd -e "select user,host from mysql.user;"
read -p "請輸入要創建的用戶名:" newuser
read -s -p "請輸入新用戶的密碼:" newpasswd
echo -e "請輸入此用戶的主機名(%代表所有的主機都能用此賬戶訪問數據庫,具體到某幾個主機名中間用英文的逗號隔開,如localhost,192.168.1.1):"
read hostname
echo -e "請輸入授予此用戶操作數據庫的權限(all代表全部,具體到某幾個權限中間用英文的逗號隔開,如create,select):" 
read grant
echo -e "請輸入授予此用戶的訪問的庫和表的權限(*.*代表全部的庫和表,具體到某幾個庫中間用英文的逗號隔開,如database1.table1,database2.table2):"
read database
mysql -u$user -p$passwd -e "grant $grant on $database to '$newuser'@'$hostname' identified by '$newpasswd';" 2>/tmp/error.txt
if [ -s /tmp/error.txt ]
then
echo -e "\t\t數據庫的權限或庫名、表名輸入錯誤!"
else
echo -e "\n\t\t\t用戶創建成功!"
fi
}
#命令行操作數據庫
function orders(){
while true
do
echo -e "\n"
echo -e "請輸入mysql語句:"
read order
mysql -u$user -p$passwd -e "$order" 2>/dev/null
if [ $?!=0 ]
then
echo -e "\t\t\tsql語句輸入錯誤!"
fi
done
}
#修改密碼
function change(){
echo -e "數據庫中已存在的用戶如下:"
tuser=`mysql -u$user -p$passwd -e "select distinct User from mysql.user;"|awk '{print $1}'|sed -n '2,$p'`
echo $tuser
while true
do
echo -e "請輸入要修改的用戶名:"
read cuser
echo -e "請輸入新密碼"
read -s cpasswd
echo -e "請再次輸入新密碼"
read -s zpasswd
echo $tuser|grep $cuser>/tmp/tuser.txt
if [ "$cpasswd" = ""$zpasswd"" -a -s /tmp/tuser.txt ]
then
mysql -u$user -p$passwd <<EOF
update mysql.user set password=password('$cpasswd') where user='$cuser';
flush privileges;
EOF
echo -e "\t\t\t$cuser用戶的密碼修改成功!"
elif [ "$cpasswd" != ""$zpasswd"" ]
then
echo -e "\t\t\t兩次輸入的密碼不一致!"
else
echo -e "\t\t\t你輸入的用戶不存在!"
fi
done
}
while true;do
menu
read -p "請輸入數字(0~4):" i
case $i in
1)
while true
do
input
mysql -u$user -p$passwd 2>/tmp/mysql.txt
if [ -s /tmp/mysql.txt ]
then
echo -e "\n\t\t\t用戶名或密碼錯誤,請重新輸入!"
else
break
fi
done
;;
2)
input
panduan
createuser
;;
3)
input
orders
;;
4)
input
panduan
change
;;
0)
exit 0;;
*)
echo -e "\t\t\t請輸入有效數字!"
;;
esac
done


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

呼和浩特市| 孝感市| 乳山市| 中超| 台南县| 遵义市| 博爱县| 永和县| 鸡泽县| 阳朔县| 达拉特旗| 同心县| 博罗县| 廊坊市| 东方市| 荆州市| 勃利县| 兰考县| 苍梧县| 噶尔县| 泰顺县| 嘉鱼县| 麻栗坡县| 鹤峰县| 溆浦县| 安阳县| 太谷县| 海伦市| 白沙| 八宿县| 胶南市| 芜湖市| 贡嘎县| 武平县| 惠安县| 长白| 韶关市| 收藏| 湖州市| 措美县| 肥乡县|