Can't connect to MySql from PHP

August 20, 2014 3.8k views

Hi, I installed LAMP on Ubuntu 14.04 app, but I can't connect to MySql from PHP. I can connect with the same username and password from console. I can see that the database I'm connecting to exists. But PHP returns

Database access denied!

I've tried to use as a Hostname localhost,,, (those three with port :3306). Nothing worked.

I went through all QA and tutorials I could find, but nothing helped. Anyone has some idea what I'm doing wrong?

4 Answers

From what I am reading, you created a new database user for the website but you can't connect. So am guessing that the user doesn't have the required privileges, try to run the following commands from mysql root user:

grant all privileges on 'database'.* to 'user'@ identified by 'password';
flush privileges;

Replace database, user and password with your own without removing the single quotes.

Thanks for your answer. I created new user by the digitalocean tutorial which is variation of what you wrote.

The funny thing is that I can log in with this user (root as well) and see the database via command line (secret variables are in {...}):

**{user}@{host}:~# mysql -u{username} -p{password}**
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 82
Server version: 5.5.38-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

**mysql> show databases;**
| Database           |
| information_schema |
| {database}          |
2 rows in set (0.02 sec)

But when I want to connect with the same access information on the same server:

host: localhost
username: {username}
password: {password}
database: {database}

I get "Database access denied!" :(

by Etel Sverdlov
MySQL is a powerful database management system used for organizing and retrieving data. This tutorial explains how to to create new MySQL users and how to grant them the appropriate permissions.

Ok, so the solution was to rebuild the droplet with clean Ubuntu 14.04 and install LAMP by myself. Now everything works like a charm.

Have another answer? Share your knowledge.