Question

Can't connect to MySql from PHP

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, 127.0.0.1, 0.0.0.0, (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

This textbox defaults to using Markdown to format your answer.

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

Sign In or Sign Up to Answer

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.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

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 https://www.digitalocean.com/community/tutorials/how-to-create-a-new-user-and-grant-permissions-in-mysql 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
owners.

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