сценарий удара mysql передача сброса

Кажется, что этот код не работает, я пытался использовать его на своей машине debian 7 и пароле, который это дает мне, является неправильным.

# Please confirm that you want to reset the MySQL passwords CONFIRM="n" echo -n "Please confirm MySQL password reset. Continue? (y/N): " read -n 1 CONFIRM_INPUT if [ -n "$CONFIRM_INPUT" ]; then   CONFIRM=$CONFIRM_INPUT fi   echo  
# check if we are resetting the MySQL password if [[ "${CONFIRM}" =~ ^[Yy]$ ]]; then

# Kill any mysql processes currently running
echo 'Shutting down any mysql processes...'
service mysql stop
killall -vw mysql

# Start mysql without grant tables
mysqld_safe --skip-grant-tables >res 2>&1 &

echo 'Resetting password... hold on'

# Sleep for 5 while the new mysql process loads (if get a connection error you might need to increase this.)
sleep 5

# Creating the password
DB_ROOT_PASS_LEN=`shuf -i 20-30 -n 1`
DB_ROOT_PASS=`pwgen -scn $DB_ROOT_PASS_LEN 1`
DB_ROOT_USER='root'

# Update root user with new password
mysql mysql -e "UPDATE user SET Password=PASSWORD('$DB_ROOT_PASS') WHERE User='$DB_ROOT_USER';FLUSH PRIVILEGES;"

echo 'Cleaning up...'

# Kill the insecure mysql process
killall -v mysqld

# Starting mysql again
service mysql restart

echo
echo "Password reset has been completed"
echo 
echo "MySQL root password: $DB_ROOT_PASS"
echo 
echo "Remember to store this password safely!"
else
    echo "Password reset was aborted"
fi

echo
-3
задан 29 January 2015 в 22:52
1 ответ

Различные версии MySQL могут иметь разные требования к хранению паролей. Также на его требования могут влиять настройки в my.cnf. Существует небольшая вероятность того, что для сброса пароля используется формат, который не разрешен настройками my.cnf.

https://stackoverflow.com/questions/1892607/mysql-password-hashing-method-old-vs -new

0
ответ дан 5 December 2019 в 22:03

Теги

Похожие вопросы