Well, this subject is now most popular up to now. I bet you've study all the relevant stuffs,
1. You just need to create a new localhost user, grant all access to him.
2. Set up another user who is able to connect at any URL, that is 'user'@'%’, grant particular privileges to him from the database.
3. Developing a connection which is hosted at the IP address of your server's IP that is the IP address of the computer you will be configuring MySQL server right now.
4. You also have to alter the Bind-address in your 'my .cnf' entry from 127 .0 .0 .1 to 0 .0 .0 .0 so your server socket can pay attention to some request and not only the localhost needs. Right?
You know all these stuffs, right? But if you still can't fix it and you are reading this article; which means there is something still wrong with the whole configuration and it is not working out for you.
And that is why I'm creating this because those troubles happened to me even after studying bunch of this useful info’s compiled by all helpful people.
So, there might be three kinds of troubles you would be dealing with. Let's come straight,
1) 'my .cnf' missing: Firstly, this is only for the linux or UNIX users, because home windows users would discover this configuration folder as 'my.ini' under Program data/app/Mysql /. I don't know much of that, because I used it on my Lubuntu 14. So the first difficulty of yours may be that you are unable to discover this document in your /etc/mysql/my .cnf as recommended by the other persons. Well for that case as it happened with me too , you just have to check 1 step further in /etc/mysql/mysql .conf .d and then under this directory you will discover a document called 'mysqld .cnf' not the 'my .cnf' . You can simply check this out by writing less in the above directories, which gives you the list of all files and directories in current directory. Now that you've found the file, you can edit your bind-address.
2) Commenting the bind-address entry: Most people think that commenting the bind-address entry (by putting # in front of it) and setting this address to 0 .0 .0 .0 are the same things.
Well that's not correct. Commenting this entry leaves the server to decide which host address it will be going to pay attention and by default that address is the local loopback address 127 .0 .0 .1 .
So the idea is to set this address 0 .0 .0 .0 if you want your server to accept requests from any request or you can set this to the IP of your server.
3) Connecting from the outside network: Well this one is still the practical to me. From my experience, this difficulty is that you have done the whole thing perfect on your hosting server but now you want to connect from an external ip address. In simplest terms, you have to first create a network between two of these devices which shares a dedicated IP address and not the IP generated dynamically. For my case, I set up MySQL server on my 1 computer and was accessing this from another laptop in which I was running my servlet software. I use a wifi network at my house so it's pretty obvious that they are connected within an intranet (that’s my home wifi network). But for a trial of my project some day in my college when I tried to access this database server using an usb net setter, it wasn't connecting at all. And when I was within my home network, it was working fine. So just to test this, one day I just taken away the ethernet from my home router and guess what I discovered out? It was still running fine, and the reason was that they were attached through a network in which they were assigned static IPs 192 .168 .1 .101 and 192 .168 .1 .103.
So, as I said this difficulty is still not known to me and I still believe there should be some solution to this difficulty so I can use my server from any network IP. I have heard about stuffs like port forwarding and something else, but I can't talk about them. Simply because I don; t know those stuffs now.
So expect this information was useful to you and thanks for studying my very first post on this blog.