何らかの理由で、以下のスクリプトはrootパスワードをリセットしません。スクリプトはステップを実行するという点では機能しますが、新しいパスワードでrootとしてmysqlにログインしようとすると、変更を認識せず、古いパスワードを使用するように主張します。mysql root password rest
#!/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をしようとすると、それは文句だけ私は、古いパスワードを使用するときに動作します:ここで
は、以下のスクリプトがあります。
アイデア?
歓声
新しくインストールすると、奇妙なoldからのユーザーの資格情報を覚えているようです。古いパスワードが新しくインストールされたときにはわからないので、古いパスワードを指定する必要はありません。 – user983022
mysqldサーバを停止し、 '[mysqld]'の下の 'my.cnf'に' skip-grant-tables = 1'を追加し、mysqldサーバを起動し、 'mysql -u root'を使って接続し、' use mysql; mysqldを再起動し、mysqldサーバでmysql -u root -pを実行し、新しいパスワードを入力してください。プロンプト。 –