shell批量修改mysql用户密码
需求
现在有这么一个需求, 需要大批量修改用户的密码, 需要注意的规则是:
必须添加的字符: *$#sjdKw%
用户名的第一位+*$#sjdKw%+用户名的最后一位,比如用户名chenglee,密码:c*$#sjdKw%e
下面开始吧, 我sql不好, 没法实现, 只能写shell了.
#!/bin/bash
user="root"
pass="lizhenghua"
ip="192.168.137.174" function My(){
#ifirst
mysql --protocol=TCP -u ${user} -p''${pass}'' -h ${ip} --connect-expired-password -e "select LEFT(id, 1) from chengleedb.chenglee_user" > first.txt
#last
mysql --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.logs
mysql --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条件修改不同的匹配密码
执行之后会生成这些目录

shell批量修改mysql用户密码的更多相关文章
- Shell 批量修改主机 用户密码
问题:132.121.114 和 132.121.118 网段共 48 台主机未添加基础监控,但是 wh 账户不能登录 需进行批量修改密码操作. 目前情况:op1对上述48台机器设备均能免密登录. 操 ...
- SQL语句修改MySQL用户密码
SQL语句修改MySQL用户密码 前言 上数据库安全实验课,用命令行和DataGrip试图修改用户密码,一直语法报错.最后用Navicat才修改成功,预览Navicat的SQL语句,发现语句和网上都不 ...
- centos mysql 修改mysql用户密码
查看服务器版本: cat /etc/redhat-release 查看mysql 版本: mysql -u root -p use mysql; ###mysql 5.7以上.. update use ...
- navicat修改mysql用户密码,前提是能登陆
幸亏之前已经连上了数据库后边才忘记密码
- mac 安装mysql + 修改root用户密码 + 及报Access denied for user 'root'@'localhost' (using password:YES)解决办法
1.下载MySQL 到mysql的官网http://dev.mysql.com/downloads/mysql/然后在页面中会看到“MySQL Community Server”下方有一个“downl ...
- Linux Mint,Ubuntu 18 ,Deepin15.7 安装mysql 没有提示输入密码,修改root用户密码过程
刚刚装Deepin15.7 和 MySQL5.7 发现没有提示用户输入密码的过程(近日发现Linux Mint 和 Ubuntu18 也适用) 百度了一大堆如何修改root密码 也没什么卵用,终于这篇 ...
- linux中重置服务器的mysql用户密码
本文章前提条件是自己经把mysql登录密码给忘记了,这个时间我们解决方法有很多,重新安装mysql数据库一切重来,另一种是通过下面文章重新设置root密码,下面我们一起来看看方法二吧. 最 近 ...
- Ansible批量更新远程主机用户密码 (包括Ansible批量做ssh互信)
按照集团运维信息安全制度, 需要每个一段时间对线上服务器密码进行一次变更,通过shell脚本部署比较繁琐,所以决定采用ansible脚本对远程主机root密码进行批量重置,该脚本已经在稳定运行在正式环 ...
- xampp修改mysql默认密码详解
在这里介绍xampp修改mysql默认密码的大概过程是先利用xampp的phpmyadmin进入修改mysql密码,修改之后我们再修改xampp中phpmyadmin的密码,这样就完整的修改mysql ...
随机推荐
- ef报错:实体类型XXX不是当前上下文的模型的一部分。
可能原因:.net框架版本与实体框架版本不匹配,比如:.net框架版本为4.5.实体框架版本为6.2. 解决方法:将实体框架版本降到6.0.
- linux的shadow文件
在<Python绝技>这本书的第一个小程序首先展示了针对与unix系统中shadow文件密码的暴力破解的能力,因为之前只是对shadow文件停留在保存了用户密码的阶段,但并没有详细研究,所 ...
- 最难解的耦合 — James
最近好久没写博客,因为换工作原因,从传统企业转行到互联网行业,这次换工作成本很大! 新公司,纯互联网广告公司,BI驱动,出来几日感觉成长空间很大,下面来些干货. 什么是程序.软件 程序 = 数据结构 ...
- bash shell执行方式
五种bash shell执行方式 fork, source, exec, (), {} Shell脚本的执行方式: 注明:wd代表“脚本保存的目录” 1.fork语法:/wd/shell.shfork ...
- Python学习之旅(十三)
Python基础知识(12):函数(Ⅲ) 高阶函数 1.map map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterat ...
- 做一个vue的todolist列表
<template> <div id="app"> <input type="text" v-model="todo&q ...
- MOT北京站 | 卓越研发之路:亿万级云端架构演进
随着IT行业技术周期的快速迭代,如何在激烈的市场竞争中突出重围成为了不少技术人的困惑.除了要保持良好的技术视野外,多向IT行业精英学习他们分享的实战经验,也可让技术提升,达到事半功倍的效果. MOT北 ...
- Laravel开发采坑系列问题
2017年12月22日17:40:03 不定时更新 版本5.4.X 一下是可能会遇到的坑 1,必须的写路由转发才能访问控制器,当然你可以自动路由访问,但是需要些匹配规则,其实还是转发了 好多人讨论过自 ...
- 20175320 2018-2019-2 《Java程序设计》第5周学习总结
20175320 2018-2019-2 <Java程序设计>第5周学习总结 教材学习内容总结 本周学习了教材的第六章的内容.在这章中介绍了接口与实现,着重讲了接口是如何定义并实现以及如何 ...
- redis问题与解决思路
问题现象: 集群状态 1主 2从,主没有开启bgsave,从开启bgsave.现象所有redis可以访问,进行操作.主不断开始bgsave 1从停止bgsave. 主日志报错# Connection ...