Monday, April 8, 2013

MySql: Give Root User Logon Permission From Any Host


Note that this is Not very secure, and should only be used for a local development box where you don’t feel like setting up individual permissions, but still need to connect from other machines.
To configure this feature, you’ll need to update the mysql user table to allow access from any remote host, using the % wildcard.
Open the command-line mysql client on the server using the root account.
mysql -uroot
Then you will want to run the following two commands, to see what the root user host is set to already:
use mysql;
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
Database changed
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’;
flush privileges;
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.
Again, note this isn’t very secure, and you should at least make sure that you’ve set a root password.

No comments:

Post a Comment