Open the command-line mysql client on the server using the root account.
Then you will want to run the following two commands, to see what the root user host is set to already:
select host, user from user;
Here’s an example of the output on my database, which is pretty much the default settings. Note that ubuntuserv is the hostname of my server.
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
mysql> select host,user from user;
| host | user |
| ubuntuserv | root |
| localhost | debian-sys-maint |
| localhost | root |
3 rows in set (0.00 sec)
Now I’ll update the ubuntuserv host to use the wildcard, and then issue the command to reload the privilege tables. If you are running this command, substitute the hostname of your box for ubuntuserv.
update user set host=’%’ where user=’root’ and host=’ubuntuserv’;
That’s all there is to it. Now I was able to connect to that server from any other machine on my network, using the root account.