由於某種原因,以下腳本不會重置root密碼。該腳本的作用在於它執行步驟,但是當我嘗試以root用戶身份以新密碼登錄時,它無法識別更改並堅持使用舊密碼。mysql root密碼休息
這裏是下面的腳本:
#!/bin/bash
echo "Resetting root password"
sudo /etc/init.d/mysql stop
sleep 2
if [ -f /root/mysql.reset.sql ]; then
rm -f /root/mysql.reset.sql
touch /root/mysql.reset.sql
else
touch /root/mysql.reset.sql
fi
echo "UPDATE mysql.user SET Password=PASSWORD('akimbo') WHERE User='root'; FLUSH
PRIVILEGES;" >> /root/mysql.reset.sql
mysqld_safe --init-file=/root/mysql.reset.sql &
/etc/init.d/mysql start
sleep 2
echo "Done setting mysql password for user root. Password is password."
所以當我嘗試的mysql -uroot -pakimbo它抱怨,只有當我使用舊密碼的工作。
任何想法?
歡呼聲
那麼當我做一個全新的安裝它似乎記得舊的用戶憑據是奇怪的。但我不知道新的安裝時舊密碼是什麼,所以我必須使用一種方法,我不需要指定舊密碼。 – user983022 2012-01-12 07:56:29
停止mysqld服務器,將'skip-grant-tables = 1'添加到'[mysqld]'下的'my.cnf',啓動mysqld服務器,使用'mysql -u root'連接並使用mysql;'然後'更新用戶SET密碼=密碼('new_pwd')WHERE用戶='root';',清理my.cnf並重新啓動mysqld服務器,用'mysql -u root -p'通過在提示。 – 2012-01-12 23:46:50