Please add tutorial for mysql remote database setup on ubuntu 16.04

Hi, i have already requested the same before and also few other peoples requested the same thing. i know theres not too much difference in 16.04 from 14.04 for this particular setup, but still want a complete guide so that we dont make any mistake. as many peoples are here not that much expert in managing own VPS.

Please add a fresh tutorial on same subject but for ubuntu 16.04

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.


apt-cache search php7.0 --names-only

Will only find packages tagged as php7.0 or compatible with php7.0, it won’t install, update, or upgrade any packages. You’d have to do that manually. It’s a simplified way of searching packages.

Now if you run:

add-apt-repository -y ppa:ondrej/php


apt-get -y upgrade

Two things can happen, it’ll either upgrade all existing packages that you’ve installed or it’ll throw an error stating that something is compatible. It’s normally best to purge existing packages before adding a repository.


apt-get -y purge php*

If there’s anything configuration wise that you need to backup, you need to do that before you run that command. Generally with PHP this isn’t the case, but worth noting.

As far as Ubuntu version, there’s really no need to upgrade from 16.04 to 16.10. Ubuntu 16.04 is the LTS, or Long-Term Support release, and it’s up to date and supported for 5 years.

When you deploy a server, or multiple servers, you should deploy with use-case in mind. If you’re constantly upgrading to one version or the next, unless it’s security related, you’re creating more work for yourself than needed.

My typical/standard deployment for a single server is Ubuntu 16.04, NGINX Mainline w/ a few modules (requires a source compile), PHP 7.1.x (which is in that repository I mentioned), MariaDB 10.1 or 10.2 (though I don’t recommend 10.2 right now as it’s an RC thus not 100%), and a few other pieces of software – depending on what I need.

You don’t want to deploy Ubuntu 16.04, install a stack, upgrade to 16.10, change the stack, downgrade X, Y, Z, etc constantly unless you’re 100% sure you’re able to troubleshoot the issues that can come along with it.


Yes, the user that you create when running the command is only valid for that user and that host that is specified at the time of creation. If the IP changes, you need to remove the user and create a new one with the new IP or host.

You can update the user, of course, though I find it easier to just drop the user and recreate them.


Looking over the guide that you’ve linked to, I can confirm that it should work just the same on 16.04 and 16.10 as it would on 14.04. The only differences would be with the version of PHP that you would be installing – Ubuntu 16.x uses PHP 7.x not PHP 5.x.

You can add a repository to bring back PHP 5.6.x support, which could be done using:

add-apt-repository -y ppa:ondrej/php && apt-get update

That being said, the guide could be simplified a little more. For example, running:

CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'password';


GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost';

is the same as running:

grant all on wordpress.* to 'wordpressuser'@'localhost' identified by 'password';

You can also limit privileges using the same by replacing all with any combination, such as:

grant select,update on wordpress.* to 'wordpressuser'@'localhost' identified by 'password';

Using both commands is a good way to learn SQL, though it’s not needed.

With that said, is there a specific part of the guide you’re not comfortable with? If so, let me know. I’ll be more than happy to help you out.