If your website shows database connection errors, you need to verify that your database credentials are correct and the server is reachable. Here is how to test your MySQL/MariaDB connection.
Create a simple PHP test script
Create a file called dbtest.php in your public_html with your database credentials. Visit it in your browser to see if the connection succeeds. Delete the file immediately after testing.
01. PHP Connection Test Script
Create dbtest.php in public_html:
<?php
$host = 'localhost';
$user = 'your_db_username';
$pass = 'your_db_password';
$db = 'your_db_name';
$conn = new mysqli($host, $user, $pass, $db);
if ($conn->connect_error) {
echo 'Connection FAILED: ' . $conn->connect_error;
} else {
echo 'Connection SUCCESSFUL to database: ' . $db;
$conn->close();
}
?>
Visit yourdomain.com/dbtest.php in your browser. You will see either "Connection SUCCESSFUL" or an error message explaining what failed.
Delete dbtest.php immediately after testing. It contains your database credentials in plain text. Never leave database test files on a live server.
02. Finding Your Database Credentials
- WordPress: Open
wp-config.phpand look forDB_NAME,DB_USER,DB_PASSWORD, andDB_HOST - Other apps: Check the application's configuration file (usually
config.php,settings.php, orconfiguration.php) - cPanel: Go to Databases > MySQL Databases to see your database names and users
03. Common Connection Errors
- "Access denied for user" - Wrong username or password, or the user is not assigned to the database. In cPanel > MySQL Databases, check that the user is added to the database with "All Privileges." See How to Add a User to a Database.
- "Unknown database" - The database name is wrong. Database names on cPanel are prefixed with your username (e.g.,
cpuser_dbname). - "Can't connect to MySQL server" - The host should be
localhoston shared hosting, not an IP address or remote hostname. See Cannot Connect to MySQL. - "Connection refused on port 3306" - MySQL is running but only accepts local connections. Use
localhostas the host. See What Port is MySQL On?
Database Connection Issues?
If you cannot get your database connection working, open a ticket with the error message (but not your password).
Open a Support TicketFrequently Asked Questions
How do I test my MySQL database connection?
Create a small PHP script that connects with your database name, user, password, and host (localhost), and reports success or the error. If it connects, your credentials are right; if not, the error message tells you what is wrong.
What host should I use to connect to my database?
Use localhost for applications running on the same hosting account, which is the normal case. Only use a remote host with the Remote MySQL setting when connecting from an external server, and add that server's IP to the allowed hosts.
Why does my database connection fail?
Almost always wrong credentials in the config: a mismatched database name, user, or password, or missing the cPanel account prefix. Confirm them against cPanel MySQL Databases, make sure the user is assigned to the database, and use localhost as the host.
Where do I find my database credentials?
In cPanel under MySQL Databases you can see the database and user names (with your account prefix) and reset the user's password if needed. Put those exact values, plus localhost as the host, into your application's config file.
Quick Recap
- Create a test PHP script with your credentials
- Host should be
localhoston shared hosting - Check cPanel > MySQL Databases for correct names and user assignments
- Database names are prefixed with your cPanel username
- Delete the test file immediately after testing
Database troubleshooting · Last updated November 2026 · Browse all PHP/MySQL articles
