laravel php artisan migrate

Your php mysql extension doesn't support the version of MySQL server you are running.

I'm assuming you're running MySQL 8.0, which is new at the time of this post.

You need to update or rebuild PHP with support for the latest version of MySQL, or downgrade your MySQL Server version.

Another solution is to create a user with the mysql_native_password option.

CREATE USER 'user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' WITH GRANT OPTION;

For

PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]

issue, there's a Japanese blog which covers this:

https://qiita.com/r641y/items/7f0ca12ced72363f9448

To summarize, you can log into mysql via command line then change the password type from caching_sha2_password to mysql_native_password type.

The code to achieve this within mysql is:

ALTER USER 'user'@"localhost" IDENTIFIED WITH mysql_native_password BY 'password'

You can replace 'user' and 'password' with your username and password to mysql.

Then within mysql again:

mysql> FLUSH PRIVILEGES;

Once that's done, remember to update the .env file's ()

DB_USERNAME= and DB_PASSWORD= .

There's a sample video on how to get to .env file below: https://laracasts.com/series/laravel-from-scratch-2017/episodes/4?autoplay=true

Hope this helps! It worked on my macbook pro high sierra.