6
votes

When I download a new wordpress from wordpress.org and then paste it into my www folder of WAMP, then create a new database in phpmyadmin, then go to localhost and click the wordpress site, it asks to create the config file, and enter the database details, and i do that correctly, but when I click submit, it says "Can’t select database".

Any Idea why this is?

I already have a local wordpress site that started saying error connecting to database. The config settings are all correct so i tried to download a fresh wordpress site and use it and I cannot even set up a fresh one. I have never encountered a fresh wordpress site not working like this before.

I did a msqldump of my old site so that my boss could put it on his server. Not sure if that is relevant.

Cheers.

13
check your config details are correct - Boopathi Rajan
Is the wordpress database still available? Can you look at it's content without using wordpress (like using phpmyadmin)? - Simon
check your DB and DB user role permissions - Amit Rahav

13 Answers

6
votes

Please don't overcomplicate.

In the "Database Host" field add "localhost: e.g. in my case "localhost:3308" solved the problem.

4
votes

For anyone who's still looking for solutions to this problem - please, check again your wp-config.php database credentials again. I had the same problem today and tried to over-complicate the matter by searching for advanced solutions, while I had a space in my DB_NAME field (was supposed to be 'wpdb' and was ' wpdb').

This space completely messed up my connection, I was even close to reinstalling the whole thing and losing all data.

2
votes

If using LAMP -

Make sure that all privileges are granted for that database to the created mysql user. Under your MYSQL shell use the below

GRANT ALL PRIVILEGES ON database_name.* TO database_user@localhost IDENTIFIED BY 'user_password';

Where,

database_name = your database name as per wp-config.php

database_user = your user name as per wp-config.php

userpassword = your user password as per wp-config.php

0
votes

It sounds like either you have not created a database or your wp-config file is not set up correctly. Have you edited wp-config.php file of wordpress and provided correct database name and user credentials. See Famous 5 minute installation of wordpress for details.

0
votes

It took me way too long to discover that my msql databases were not working on any other websites either. I reinstalled Wamp Server and it worked.

0
votes

Verify the wp-config.php file. I had the same error and the problem was related with the quotes: ‘root’ vs 'root'

edit: the correct one is single quote

'
0
votes

By default

username : root

password : leave it blank

database host : localhost

table_prefix : wp_

0
votes

For me, the solution was giving wp_user all permissions on the wp_db database.

I achieved this using the command line interpreter (CLI):

$ mysql -uroot -p
MariaDB [(none)]> GRANT ALL ON `wp_db`.* TO `wp_user`@`localhost` IDENTIFIED BY 'pass';
MariaDB [(none)]> exit;

After these operations, I restarted the database:

$ systemctl restart mysql

Of course, the database name (wp_db), username (wp_user), and password of the user (pass) can be different.

0
votes

my problem was that when I granted permissions to the DB user the host did not match what was in the wp_config.php

/** MySQL hostname */
define('DB_HOST', 'localhost:3306');

I was granting rights with

GRANT ALL ON databaseName.* TO 'UserName'@'127.0.0.1';

This gave me access when I was connected to the local host through ssh but It did not match wp_config.php. so I had to Grant like this then it all worked.

GRANT ALL ON databaseName.* TO 'UserName'@'localhost';
0
votes

For Mariadb hostname should be localhost:3306 and for MySQL localhost:3308.this fixed my error.

0
votes

I had this issue when trying to transfer databases between WAMP server installations.

I tried opening PhpMyAdmin on new PC, then got the port of MySql server (:3308) and added this port into DB_HOST ('localhost:3308'). This worked for me.

0
votes

please create your database with name 'wordpress' before installing wordpress

0
votes

You may need to create the database yourself. Visit http://localhost:8888/phpMyAdmin5 create a new database with the name you prefer. Don't add any table names, just use the name you choose for the database in the WordPress setup