博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell批量修改mysql用户密码
阅读量:7067 次
发布时间:2019-06-28

本文共 1790 字,大约阅读时间需要 5 分钟。

需求

现在有这么一个需求, 需要大批量修改用户的密码, 需要注意的规则是:

必须添加的字符: *$#sjdKw%

用户名的第一位+*$#sjdKw%+用户名的最后一位,比如用户名chenglee,密码:c*$#sjdKw%e

下面开始吧, 我sql不好, 没法实现, 只能写shell了.

#!/bin/bashuser="root"pass="lizhenghua"ip="192.168.137.174"function My(){#ifirstmysql --protocol=TCP -u ${user} -p''${pass}'' -h ${ip} --connect-expired-password -e "select LEFT(id, 1) from chengleedb.chenglee_user" > first.txt#lastmysql --protocol=TCP -u ${user} -p''${pass}'' -h ${ip} --connect-expired-password -e "select SUBSTRING(id, -1) from chengleedb.chenglee_user" > last.txt#export#mysql --protocol=TCP -u ${user} -p''${pass}'' -h ${ip} --connect-expired-password -e "SELECT (@i:=@i+1) i,id from chengleedb.chenglee_user,(SELECT @i:=0) AS i" > user.logsmysql --protocol=TCP -u ${user} -p''${pass}'' -h ${ip} --connect-expired-password -e "select id from chengleedb.chenglee_user" > user.logs}function Re(){    exec 3<"first.txt"    exec 4<"last.txt"    while read line1<&3 && read line2<&4    do        echo "${line1}%do1pMt6Q*${line2}" >> first2.txt    done}function Pot(){    exec 5<"first2.txt"    exec 6<"user.logs"    while read line5<&5 && read line6<&6    do    #UPDATE chenglee_user SET PASSWORD = '3FWdPV5K' WHERE 1=1    #mysql --protocol=TCP -u ${user} -p''${pass}'' -h ${ip} --connect-expired-password -e "UPDATE chengleedb.chenglee_user SET PASSWORD = '${line5}' WHERE id = '${line6}'"    mysql --protocol=TCP -u ${user} -p''${pass}'' -h ${ip} --connect-expired-password -e "UPDATE chengleedb.chenglee_user SET PASSWORD = md5'${line5}' WHERE id = '${line6}'"    #echo "${line6} ${line5}" >> first3.txt    done}function main(){    My    Re    Pot}main

模块说明

My:这个模块, 主要导出password字段的第一个字符和最后一个字符以作参考写入, 以及用户id的导出以作匹配.

Re:组合密码复杂度

Pot:实现批量修改密码, 没一行根据id条件修改不同的匹配密码

执行之后会生成这些目录

 

转载于:https://www.cnblogs.com/chenglee/p/10338286.html

你可能感兴趣的文章
小程序使用smart模板的方法
查看>>
HTPC家庭娱乐和XBOX未来发展畅想<另:创业工作机会>
查看>>
MUI下拉刷新
查看>>
C#操纵Excel,此工作薄包含嵌入对象,Office 2007的设定方法
查看>>
【转载】ANSYS 动力分析 (9) - 瞬态动力分析 (1)
查看>>
PHP观察者模式的简单实现
查看>>
Trivial File Transfer Protocol (TFTP)
查看>>
C++版 - LeetCode 144. Binary Tree Preorder Traversal (二叉树先根序遍历,非递归)
查看>>
前端开发之旅-zopim在线即时聊天客服
查看>>
c++模板实现抽象工厂
查看>>
节日营销!这样搞-App运营日常
查看>>
谁是“少数幸福的人”?
查看>>
坦克大战--Java类型 ---- (2)按键设置和用户名的输入
查看>>
手机操作系统:自主力量能否崛起
查看>>
Shell在大数据时代的魅力:从一道百度大数据面试题想到的点滴
查看>>
说说參数传递(泛型托付)
查看>>
CentOS6.10下安装mysql-5.7.24
查看>>
【C#公共帮助类】 ToolsHelper帮助类
查看>>
八皇后问题
查看>>
切蛋糕
查看>>