I believe this is actually due to the fact that MySQL has a password expiration time, not forever. This seems to happen to me when I launch my old Laravel Homestead 5 instead of the new ones for Homestead 7+.
Please note that the following solution also fixes ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
:
vagrant up
vagrant ssh
:
mysql -h localhost -u homestead -p
SET PASSWORD = PASSWORD('secret');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password', 'root'@'localhost' PASSWORD EXPIRE NEVER;
quit
exit
:
vagrant up --provision
.
, ==> default: createdb: database creation failed: ERROR: database "homestead" already exists, :
mysql -h localhost -u homestead -p -e "DROP DATABASE homestead"
vagrant up --provision .