shell脚本修改mysql密码

2023-05-16

不知道你们有没有过这种经历,刚安装的mysql,立马就忘记了密码,或者过了一段时间就忘记了,找回太难了,得翻各种配置。下面 教大家一个脚本,专治mysql密码忘记的功能,一行命令就可以搞定,你一定会喜欢的

 

#!/bin/bash


# Check if user is root
if [ $(id -u) != "0" ]; then
    echo "must root"
    exit 1
fi

echo "+-------------------------------------------------------------------+"
echo "|   Reset MySQL Root Password"
echo "+-------------------------------------------------------------------+"

if [ -s /usr/local/mysql/bin/mysql ]; then
    DB_Name="mysql"
    DB_Version=`/usr/local/mysql/bin/mysql_config --version`
else
    echo "MySQL not found!"
    exit 1
fi

while :;do
    DB_Root_Password=""
    read -p "Enter New ${DB_Name} root password: " DB_Root_Password
    if [ "${DB_Root_Password}" = "" ]; then
        echo "Error: Password can't be NULL!!"
    else
        break
    fi
done

echo "Stoping ${DB_Name}..."
/etc/init.d/${DB_Name} stop
echo "Starting ${DB_Name} with skip grant tables"
/usr/local/${DB_Name}/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1 &
sleep 5
echo "update ${DB_Name} root password..."
if echo "${DB_Version}" | grep -Eqi '^8.0.|^5.7.|^10.[234].'; then
    /usr/local/${DB_Name}/bin/mysql -u root << EOF
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '${DB_Root_Password}';
EOF
else
    /usr/local/${DB_Name}/bin/mysql -u root << EOF
update mysql.user set password = Password('${DB_Root_Password}') where User = 'root';
EOF
fi

if [ $? -eq 0 ]; then
    echo "Password reset succesfully. Now killing mysqld softly"
    if command -v killall >/dev/null 2>&1; then
        killall mysqld
    else
        kill `pidof mysqld`
    fi
    sleep 5
    echo "Restarting the actual ${DB_Name} service"
    /etc/init.d/${DB_Name} start
    echo "Password successfully reset to '${DB_Root_Password}'"
else
    echo "Reset ${DB_Name} root password failed!"
fi

至此结束了, 希望对大家有帮助

 

lnmp官网有很多脚本,对于脚本的初学者,可以去看看大牛们的shell写法,饮水思源

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shell脚本修改mysql密码 的相关文章

  • 如何将命令输出作为多个参数传递给另一个命令

    我想将命令的每个输出作为多个参数传递给第二个命令 例如 grep pattern input returns file1 file2 file3 我想复制这些输出 例如 cp file1 file1 bac cp file2 file2 b
  • ASP.NET API:尚未为此 DbContext 配置数据库提供程序

    我正在尝试从我的 Net Core API 项目连接到 MySql 数据库 这是我的上下文类 public class MyContext DbContext public MyContext public MyContext DbCont
  • 通过 Node.js 运行 bash 脚本 - 非法选项 -o pipelinefail

    我正在尝试使用 Node js 执行 bash 脚本child process exec 然而它在文件的第二行爆炸 usr bin env bash set eo pipefail TRACE set x echo we are here
  • WooCommerce:在数据库中查找产品

    我正在使用 WooCommerce 创建一个网站 我想根据用户在主页搜索表单中输入的邮政编码来限制用户可用的产品 为了能够实现这一目标 我必须在 phpMyAdmin 的数据库中指定每个产品的条件 但我似乎找不到它 有谁知道 phpmyAd
  • MySQL:你能指定一个随机限制吗?

    有没有办法在 SQL MySQL 中随机化限制数字 我希望能够做的是在查询中获取随机数量的结果以在插入子查询中使用 而无需任何服务器端脚本 我希望能够作为假设说明运行的查询是 SELECT id FROM users ORDER BY RA
  • Ruby 在特定目录中运行 shell 命令

    我知道如何在 Ruby 中运行 shell 命令 例如 x cmd 但是 如何指定运行此命令的目录 有没有类似的脱壳方式 类似subprocess Popen在Python中 subprocess Popen r c mytool tool
  • 如何在 Laravel 中编写联合查询?

    我正在使用 laravel 5 0 并且我有 mysql 查询 SELECT surat masuk id surat surat masuk nomor surat FROM surat masuk WHERE EXISTS SELECT
  • 自动将所有mysql表转储到单独的文件中?

    我想将每个 mysql 表转储到单独的文件中 手册指出其语法是 mysqldump options db name tbl name 这表明您事先知道表名称 我现在可以设置知道每个表名称的脚本 但是假设我在路上添加了一个新表并且忘记更新转储
  • 执行许多插入重复键更新错误:未使用所有参数

    所以我一直在尝试使用 python 2 7 15 使用 mysql connector 执行此查询 但由于某种原因 它似乎不起作用并且总是返回错误 并非所有参数都被使用 表更新有一个主键 即 ID 这是我尝试运行此 SQL 的查询 sql
  • 从数据库生成 XML 时出现 PHP 编码错误 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在尝试获取一个简单的 PHP 服
  • 选择MySql表数据放入数组中

    我尝试从 mysql 捕获数据并将它们全部放入数组中 认为 users table id name code 1 gorge 2132 2 flix ksd02 3 jasmen skaod2 sql mysql query select
  • 如何使用实体框架设置连接字符串

    我将 EF6 与 MySQL 结合使用 并有一个用于多个数据库的模型 我希望能够在我的表单中设置连接设置 如何以编程方式设置模型的连接字符串 你应该使用EntityConnectionFactory这就是您所需要的 public strin
  • SQL 大表中的随机行(使用 where 子句)

    我有一个网站 人们可以在其中对汽车进行投票 向用户展示 4 辆汽车 他 她可以投票选出他们最喜欢的汽车 桌子cars有重要的列 car id int 10 not auto increment so has gaps views int 7
  • Sql:计算随时间的增长

    我几周前发布了这个问题 但我认为我没有清楚地提出这个问题 因为我得到的答案不是我想要的 我认为最好重新开始 我正在尝试查询数据库以检索一段时间内唯一条目的数量 数据看起来像这样 Day UserID 1 A 1 B 2 B 3 A 4 B
  • 使用MySQL计算单个表中借方和贷方的余额

    下面的 MySQL 表包含带有关联金额的借方或贷方 操作 如何选择具有非零 余额 的所有 CLIENT ID 我尝试将表连接到自身以计算所有借方和贷方总额 但有些东西无法正常工作 CLIENT ID ACTION TYPE ACTION A
  • 如何在不使用 MacPorts 或 Fink 的情况下在 OS X Leopard 上安装 lxml?

    我过去曾多次尝试过此操作并遇到问题 有没有人有在没有 MacPorts 或 Fink 的情况下在 OS X 上安装 lxml 的方法 并且绝对有效 最好有完整的 1 2 3 步骤来下载和构建每个依赖项 感谢 Twitter 上的 jesse
  • 在 PHP 中将十进制/双精度/浮点值与 PDO 绑定的最佳方法是什么?

    看来类常量只涵盖PDO PARAM BOOL PDO PARAM INT and PDO PARAM STR用于绑定 您只是将十进制 浮点 双精度值绑定为字符串还是有更好的方法来处理它们 MySQLi 允许使用 d 类型表示 double
  • 如何在Sequelize中从主模型同一级别的包含模型返回结果?

    这是我在项目中完成的代码和结果 我想获得包含模型的结果与主模型相同的结果 下面的代码是我所做的 序列化查询 User findAll include model Position attributes POSITION NAME then
  • 如何隐藏显示终端命令输出

    当我运行这个命令时 sudo htpasswd b home reynolds htpasswd admin admin 我正在得到输出Updating password for user admin在终端中 但我不想显示该输出 所以我在谷
  • 哪个是识别关系或非识别关系中的子表?

    在表之间的识别和非识别关系的上下文中 MySQL 文档大量将表称为父表和子表 如何判断哪个表是父表 哪个表是子表 子表 A K A 弱实体 http en wikipedia org wiki Weak entity 是一个表 其主键属性d

随机推荐

  • 2-1000之间的完数

    题目描述 xff1a 编写程序显示2 1000之间的说有完数 xff0c 所谓完数是指 xff0c 该数的各因子之和正好等于该数本身 代码 xff1a span class hljs preprocessor include lt stdi
  • Android Studio R报红的总结

    做个笔记 xff0c 懒得折腾格式 1 一般由于 xff0c 电脑太慢 xff0c 等一会就差不多了 xff0c 或者重启studio xff0c 甚至电脑 xff0c 记得当年as1 0就经常要这样 2 或者刷新gradle 3 看到有人
  • 基于Android平台的个人时间管理系统的设计与实现

    0 前言 另外一个毕设作品 xff0c 功能不算完善 xff0c 主体框架使用了 高效Android工程师6周养成计划 里面的项目内容 xff0c 其中最核心功能就是仿照 我要当学霸 这个软件的形式实现的监督不让用户玩手机的功能 xff0c
  • PDF内复制文字多余换行问题【完美解决】

    问题描述 从PDF中复制文字后粘贴 xff0c 结果每行出现换行 影响最大的就是笔者google翻译论文的时候 xff0c 效果很差 多出的换行符 翻译效果 xff0c 目不忍视 解决办法 使用工具 sublime 使用快捷键 shift
  • 15.【cocos2d-x 源码分析】:localStorage的详细分析

    对应源码位置 xff1a cocos2d x 3 3 cocos storage local storage localStorage localStorage 的接口 cocos2d x提供了简单的本地数据存储的功能 xff0c 其主要是
  • 16【cocos2d-x 源码分析】:HttpClient 的详细分析

    对应源码位置 xff1a cocos2d x 3 3 cocos network Http HttpRequest的实现 span class token keyword typedef span std span class token
  • 17【cocos2d-x 源码分析】:多分辨率支持的详细分析

    对应源码位置 xff1a cocos2d x 3 3 cocos platform GLView 设计分辨率与屏幕分辨率 cocos2d x中 xff0c 进行游戏设计时使用逻辑上的设计分辨率 xff0c 当具体游戏运行在物理机上时对应具体
  • ubuntu与Windows进行远程连接

    安装xrdp sudo apt get install xrdp 安装vnc4server sudo apt get install vnc4server 安装xubuntu desktop sudo apt get install xub
  • Python 爬取ts流视频

    准备工具 1 安装python xff0c 本机环境linux 43 python3 6 2 直接开撸 xff0c 基本的包需要pip install 3 话不多说直接干 https www com video 2 1 html某网站 xf
  • JS报错-TypeError: xxx is not a function

    在今天的工作中 xff0c 有个勾选框的onchage事件绑定的函数明明有实现 但是触发时 xff0c 一直报错TypeError xxx is not a function 一直以为是错误Uncaught ReferenceError a
  • 深入理解Python中的if语句

    公众号 xff1a 尤而小屋 作者 xff1a Peter 编辑 xff1a Peter 大家好 xff0c 我是Peter 在生活中总是会听到这样的话 xff1a 如果我上课认真一点 xff0c 英语肯定可以及格如果我努力锻炼 xff0c
  • NVIDIA 显卡驱动安装

    补充 xff1a 这篇博文目前是整理的结果 xff0c 之前安装了 xff13 xff18 xff14 xff0c 但是之前电脑卡死次数太多 xff0c 强制重启后 xff0c 突然驱动就没有了 xff0c 扩展屏幕也用不了 xff0c 因
  • beego打包linux运行包命令

    span class hljs attribute bee pack be GOOS span 61 span class hljs string linux span
  • Web安全原理剖析(十六)——DOM型XSS攻击

    目录 4 7 DOM型XSS攻击4 8 DOM型XSS代码分析 4 7 DOM型XSS攻击 DOM型XSS攻击页面实现的功能是在 输入 框中输入信息 xff0c 单击 替换 按钮时 xff0c 页面会将 这里会显示输入的内容 替换为输入的信
  • QScrollArea 无法通过样式改变背景色,无法去除边框

    QScrollArea 无法通过样式改变背景色 xff0c 无法去除边框 QScrollArea 是无法通过样式表来改变背景色的 xff0c 只能设置加入到QScrollArea里面的QWidget的样式 xff0c 这样才能改变背景色 当
  • 将驱动编译成.ko文件添加到嵌入式Linux系统下

    为减少内核所占的空间 xff0c 很多时候我们在编译内核时都会选择裁去一些暂时不用的驱动 xff0c 当我们在使用时找不到对应的驱动 xff0c 除了重新编译内核外 xff0c 一个比较方便的做法是将对应的驱动编译成 ko文件 xff08
  • 嵌入式Linux上没有wlan0

    有时候我们的嵌入式板子上有无线网卡 xff0c 可是无法连接到wifi上 xff0c 使用 sudo ifconfig 也看不到 wlan0 的相关信息 这时我们可以使用 sudo ifconfig a 看一下具体信息 xff0c 我们可以
  • Linux远程界面中Tab键不能补全

    我们在使用嵌入式Linux板子的时候 xff0c 时常需要使用到远程界面 xff0c 可以通过本地电脑对板子进行操作 xff0c 显得相对便捷 在远程界面的使用中 xff0c 不可避免地要在终端进行命令输入 xff0c 这时可能出现Tab键
  • Linux下使用游戏手柄

    大多数情况下 xff0c Linux系统都带有手柄驱动模块joydev xff0c 当我们插上设备的时候可以通过以下指令查看是否检测到该设备 ls dev 或者 ls dev input 如果有出现 js0 的设备 xff0c 则证明设备能
  • shell脚本修改mysql密码

    不知道你们有没有过这种经历 xff0c 刚安装的mysql xff0c 立马就忘记了密码 xff0c 或者过了一段时间就忘记了 xff0c 找回太难了 xff0c 得翻各种配置 下面 教大家一个脚本 xff0c 专治mysql密码忘记的功能