由于某种原因,以下脚本不会重置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