MySQL root password recovery script

Moderator: Forums Team

Post Reply
dno
Posts: 51
Joined: Sun Nov 30, 2003 5:13 pm
Location: 台灣 / 桃園 / 龜山
Contact:

MySQL root password recovery script

Post by dno »

Code: Select all

#!/bin/bash
#
# resetRootPass script
#
# Recover lost root password of mysql database.
#
# By Willem Bermon
#

echo
echo "Mysql password recovery utility"
echo

# Stop the mysql server
/etc/init.d/mysql stop
/etc/init.d/mysql zap > /dev/null
/bin/killall mysqld > /dev/null

# Run mysqld in permissionless mode
/sbin/start-stop-daemon --start --quiet --exec /usr/bin/mysqld_safe 
        --background -- --skip-grant-tables >/dev/null 2>&1

sleep 1

# Execute queries
mysql -u root mysql -e "UPDATE user SET Password=PASSWORD('$1') WHERE 
                        user='root'; 
                        FLUSH PRIVILEGES;"
if [[ $? -eq 0 ]]
then
        echo " ** SQL root password updated"
else
        echo " ** SQL root password update unsuccesful"
fi

# Restart the mysql server
/bin/killall mysqld > /dev/null
/etc/init.d/mysql start

echo "Succesfully updated password!!"
echo
echo
exit 0
總有一種「很快就會用到這指令稿」的感覺啊 :oops:
先存下來再說吧 8)

檔案來源: Gentoo Forums
feuer
Posts: 218
Joined: Mon Jan 13, 2003 11:17 am
Location: 天涯

Post by feuer »

啊,感謝分享。
我試用的結果:
The Packages is: MySQL-server-4.1.1-0 ,MySQL-client-4.1.1-0

# sudo -u mysql mysqld --skip-grant-tables --safe-mode --basedir=/var/lib/mysql
# mysql mysql -e "UPDATE user SET Password=OLD_PASSWORD('8888') WHERE User='root';FLUSH PRIVILEGES;"
這樣是成功了。
----
抱歉,po 完才發現是在 Gentoo 精華文件區。
純粹也想分享一下而已,過兩天版主把這篇刪了吧。
Post Reply