代码拉取完成,页面将自动刷新
#!/bin/bash
MYSQL_INSTALL_DIR="/usr"
MYSQL_CNF="/etc/my.cnf"
MYSQL_SERVER_NAME="mysqld"
# 检查是否是root用户
if [ $(id -u) != "0" ]; then
echo "must root"
exit 1
fi
echo "+-------------------------------------------------------------------+"
echo "| Reset MySQL Root Password"
echo "+-------------------------------------------------------------------+"
if [ -s "${MYSQL_INSTALL_DIR}/bin/mysql" ]; then
DB_Name="mysql"
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}..."
if command -v killall >/dev/null 2>&1; then
killall mysqld
else
kill $(pidof mysqld)
fi
echo "modify ${MYSQL_CNF} with skip-grant-tables"
sed -i '/skip-grant-tables/d' $MYSQL_CNF
sed -i '/\[mysqld\]/askip-grant-tables' $MYSQL_CNF
sleep 2
echo "update ${DB_Name} root password..."
systemctl start mysqld
${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql <<EOF
use mysql;
flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY "${DB_Root_Password}";
commit;
flush privileges;
EOF
if [ $? -eq 0 ]; then
echo "Password reset succesfully. Now killing mysqld softly"
sed -i '/skip-grant-tables/d' $MYSQL_CNF
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"
systemctl start ${MYSQL_SERVER_NAME}
echo "Password successfully reset to '${DB_Root_Password}'"
else
echo "Reset ${DB_Name} root password failed!"
fi
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。