Question

Can't connect laravel to managed mysql (Error 2054 (HY000) The server requested authentication method unknown to the client)

I am trying to connect my laravel app (currently on my Mac) to my managed mysql db. My IP is entered as a trusted source. I was getting a different error until I followed the tutorial and used the flags connection script to connect. Now I get error: 2054 The server requested authentication method unknown to the client.

I am connecting as follows:

DB_CONNECTION=mysql
DB_URL="mysql -u my_username -p my_password -h db-mysql-nyc1-my_database_info.db.ondigitalocean.com -P 25060 -D IHC"
DB_HOST=db-mysql-nyc1-my_database_info.db.ondigitalocean.com
DB_PORT=25060
DB_DATABASE=IHC
DB_USERNAME=my_username
DB_PASSWORD=my_password
DB_SSLMODE=REQUIRED
MYSQL_ATTR_SSL_CA=/Users/melaniecarr/Desktop/ca-certificate.crt

How on earth do I connect this thing?

Subscribe
Share

The connecting as follows is the database portion of my .env file, in case anyone was wondering.


Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

OOOOH!!! I got it! I had to create a new user, but with MySQL 5 settings, and get rid of the following lines (for anyone else having this issue):

DB_URL=
DB_SSLMODE=REQUIRED
MYSQL_ATTR_SSL_CA=/Users/myusername/Desktop/ca-certificate.crt

The only other thing I saw that might help is this:

Having trouble connecting? Your MySQL client might not support the new MySQL 8 default password encryption. If you're experiencing issues with the Default (caching_sha2_password), change the mode to Legacy (mysql_native_password).

I don’t know how to do this.