我是靠谱客的博主 单纯大米,最近开发中收集的这篇文章主要介绍shell脚本修改mysql密码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

不知道你们有没有过这种经历,刚安装的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写法,饮水思源

最后

以上就是单纯大米为你收集整理的shell脚本修改mysql密码的全部内容,希望文章能够帮你解决shell脚本修改mysql密码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部