“Database Connection Error” upon install in Apache VirtualHost document root.. Why did this happen?

I have apache virtualhosts up and confirmed working. I want to install wordpress for one of the vhosts, so I unpacked all the wordpress files in the document root for that vhost. I proceeded to follow the WordPress installation instructions. Now I am getting a database connection error upon going to to the install.php. I created the DB and WordPress user from phpMyAdmin.Here is my wp-config.php:

<?php
/**
 * The base configurations of the WordPress.
 *
 * This file has the following configurations: MySQL settings, Table Prefix,
 * Secret Keys, WordPress Language, and ABSPATH. You can find more information
 * by visiting {@link http://codex.wordpress.org/Editing_wp-config.php Editing
 * wp-config.php} Codex page. You can get the MySQL settings from your web host.
 *
 * This file is used by the wp-config.php creation script during the
 * installation. You don't have to use the web site, you can just copy this file
 * to "wp-config.php" and fill in the values.
 *
 * @package WordPress
 */

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'notmyrealDBname');

/** MySQL database username */
define('DB_USER', 'l*******e');

/** MySQL database password */
define('DB_PASSWORD', '*********');

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

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

/**#@+
 * Authentication Unique Keys and Salts.
 *
 * Change these to different unique phrases!
 * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
 * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

/**#@-*/

/**
 * WordPress Database Table prefix.
 *
 * You can have multiple installations in one database if you give each a unique
 * prefix. Only numbers, letters, and underscores please!
 */
$table_prefix  = 'wp_';

/**
 * WordPress Localized Language, defaults to English.
 *
 * Change this to localize WordPress. A corresponding MO file for the chosen
 * language must be installed to wp-content/languages. For example, install
 * de_DE.mo to wp-content/languages and set WPLANG to 'de_DE' to enable German
 * language support.
 */
define('WPLANG', '');

/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 */
define('WP_DEBUG', false);

/* That's all, stop editing! Happy blogging. */

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');

So I am new to MySql but I did troubleshoot as much as I could. I used SET to make a new passwd for my WordPress DB user. Still no dice. I confirmed mysql is running. I double checked passwords and spelling. I tried to login to mysql using the WordPress DB user, but I got:

Read More
 ERROR 1045 (28000): Access denied for user 'l********e'@'localhost' (using password: YES)

I think this may be because my WordPress DB user has no global privileges, but I honestly do not know since today is basically my first day using mysql ever.

The only thing I can think of is that ‘localhost’ isn’t the correct DB hostname due to apache vhosts, but everyone says it should still be. Oh and its worth noting that in phpMyAdmin, my WordPress user’s “host” in user overview was ‘%’ until I changed it to ‘localhost'(I tried setting the wp-config.php DB host to ‘%’ before changing.

Also Tried opening up permissions in /var/www/* where all my sites are, didnt help. chown to www-data also nothing

UPDATE
I fixed it by starting fresh and doing everything via the command line. But now I would like to know why it was happening.

Related posts

1 comment

  1. You need to set these too:

    define('AUTH_KEY',         'put your unique phrase here');
    define('SECURE_AUTH_KEY',  'put your unique phrase here');
    define('LOGGED_IN_KEY',    'put your unique phrase here');
    define('NONCE_KEY',        'put your unique phrase here');
    define('AUTH_SALT',        'put your unique phrase here');
    define('SECURE_AUTH_SALT', 'put your unique phrase here');
    define('LOGGED_IN_SALT',   'put your unique phrase here');
    define('NONCE_SALT',       'put your unique phrase here');
    

    Please generate and copy from here and check again: https://api.wordpress.org/secret-key/1.1/salt/

    Also double check if your database name, user name, and password is correct.

Comments are closed.