I encountered this problem as well. After some struggles, it’s now working. Here is what happened in my case and how to solve it. Hopefully it will help you, too.
1, Log in to mysql as root.
– Create a database (that I filled the database field in wp-config.php)
– Grant my user name on the database.
– It appears to me that the installation will create tables for you but not creating a database. You need to create a database first for future auto table creation.
==> this step got me to pass the “Error establishing a database connection”. But a new Error says that now WordPress can find my database with user/passwd but can’t connect to the host.
2, In wp-config.php, change the default “localhost” to “127.0.0.1”.
After that, the installation steps took about 1 min and finished.
Good luck!