I upgraded my server from Ubuntu 12.04 LTE to 14.04 LTE. But after that, I cannot access my wordpress site any more. This gave a headache for a whole night. After trying tons of methods, finally I figured it out how to resolve it. But still not sure what happened though. So my issue is I keep getting “cannot connect to database” error.
First of all, I tried to check if mysql is installed correctly, and see if I can log in mysql using root. The answer is yes. But strangely I cannot log in using the user name and password wordpress is using. I also checked mysql wp_* tables, and they are all there. So it must be something with user name and password. I basically tried all method on http://www.wpbeginner.com/wp-tutorials/how-to-fix-the-error-establishing-a-database-connection-in-wordpress/. But no matter I access www.ycshao.com or www.ycshao.com/wp-admin or http://www.ycshao.com/wp-admin/maint/repair.php, I always get “cannot connect to database”.
I know it’s something wrong with my wp-config.php, but I couldn’t figure out why. So I tried following solution which worked eventually for me.
- I backed up old wp-config.php, and it will let you generate new wp-config.php.
1$mv wp-config.php wp-config.php.back
- When I accessed www.ycshao.com, the initial setup screen showed up! I tried to setup database name, user name, password, database host and table prefix according to DB_NAME, DB_USER, DB_PASSWORD, DB_HOST and table_prefix variables in wp-config.php. But no luck, I still could not connect to database.
- Then I created new mysql user and password
12mysql> create user 'new_user_name'@'localhost' identified by 'new_password';mysql> grant select, insert, update, delete, create, drop, alter on database_name.* to 'new_user_name'@'localhost'; // This is to grant privilege to new user
- Then I repeated step 1 and 2. Magically it worked! Everything comes back!
It took me 3 hours 22 minutes.