Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Laravel: SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

after installing a new laravel app 5.7 and trying to migrate I get this error:

Illuminate\Database\QueryException : SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client (SQL: select * from information_schema.tables where table_schema = xxx_db and table_name = migrations)

at C:\xampp\htdocs\xxxxx\vendor\laravel\framework\src\Illuminate\Database\Connection.php:664 660| // If an exception occurs when attempting to run a query, we'll format the error 661| // message to include the bindings with SQL, which will make this exception a 662| // lot more helpful to the developer instead of just the database's errors. 663| catch (Exception $e) {

664| throw new QueryException( 665| $query, $this->prepareBindings($bindings), $e 666| ); 667| } 668|

Exception trace:

1 PDOException::("PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]") C:\xampp\htdocs\xxxxx\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:70

2 PDO::__construct("mysql:host=127.0.0.1;port=3306;dbname=xxx_db ", "root", "**********", []) C:\xampp\htdocs\xxxxx\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:70

Please use the argument -v to see more details.

like image 858
medo ampir Avatar asked Dec 04 '18 06:12

medo ampir


People also ask

How do I fix Sqlstate hy000 2054 the server requested authentication method unknown to the client?

1) Update your existing Matomo DB user and set the appropriate authentication type by executing the following SQL query: UPDATE `mysql`. `user` SET `plugin` = 'mysql_native_password' WHERE (`Host` = 'YOUR MATOMO DB HOST NAME') and (`User` = 'YOUR MATOMO DB USER NAME');

How do I fix the server requested authentication method unknown to the client?

If the authentication plugin type is not changed already it will throw an error message like “The server requested authentication method unknown to the client”. Solution : In order to fix this issue, you need to change the MySQL authentication plugin type. For this, you have to log in to the MySQL prompt first.


Video Answer


1 Answers

  1. Enter to your mysql as root and run this query
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';

You can change 1234 to be your password

  1. Run these commands

php artisan config:clear

php artisan migrate

Note: this worked for me.

like image 173
Asdam Wong Mantap Avatar answered Oct 15 '22 11:10

Asdam Wong Mantap