How do I allow connection to MySQL database?

I created the server few days ago with PhpMyAdmin installed. Since then I’ve been able to set up SFTP and transfer files, and I’ve created databases and users on PhpMyAdmin. However, when I try to connect to those databases I get an error saying this:

Lost connection to MySQL server at 'reading initial communication packet', system error: 0

I’ve tried changing the hosts.allow file to the server IP, but even then I get the same error.

Any help would be appreciated. Thanks!

Show comments

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 question was answered by @sierracircle:

in phpmyadmin, top-level (not selecting a particular database) Users.

under “Host” set it at % rather than localhost.

or, if you have a specific IP you will be accessing it from, you can set it at your IP address.

After that you should be able to access your database.

Having said all that: doing that is not very secure and will probably be hacked. Usually you want some intermediary between you and a remote database, like PHP or some other server-side language.

Alternatively, you can first SSH into your remote server and then you should also be able to access it. That is probably the most secure way.

View the original comment