Can't connect to MySql from PHP

  • Posted August 20, 2014

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?


Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

This comment has been deleted

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.

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!” :(

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.