Re: MySQL Admin win/Linux? when Server on linux

Jon Stephens <[email protected]> Thu, 08 Feb 2007 11:33:18 +1000
Newsgroups gmane.comp.db.mysql.mycc
Organization MySQL AB
Message-ID <[email protected]>
Hi Parul,


> Date: Wed, 7 Feb 2007 11:37:07 -0600 (CST)
> To: [email protected]
> From: Parul Jain <[email protected]>
> Subject: MySQL Admin win/Linux? when Server on linux 
> Message-ID: <[email protected]>
> 
> Hi
> 
> I have to manage a mysql server (on linux) while users will connect to 
> it through query browser ( on windows XP mainly). I read (mysql.com 
> )that its okay and QB can connect to server in such setup. 
> 
> Now, I want to use mysql administrator to create user accounts etc 
> easily. And I have 2 questions about it :-
> 
> 1. If I download MySQL Administrator software for windows, will it be 
> able to connect to my server ( which is on linux). 

Yes.

I actually do it the other way round :) - I run MySQL Administrator on 
my Linux desktop and use it to access the MySQL Server running on my 
test machine running Windows 2000 Server.

> 
> 2. Also is it mandatory to download Adminstrator softwrae on same 
> machine as the server 

No. The only software required on the server machine is the MySQL Server.

or is it okay to keep adminstrator software on a
> third computer which is windows XP. 
> ( Reason : Not well versed with linux..)

Yes. No software is required on the client/remote machine other than the 
MySQL Administrator.

> 
> Any pointers/suggestions are appreciated.

Set up a separate MySQL user account on the server to be used by the 
remote MySQL Administrator client. Make sure only the client machine can 
use this account. Make sure that this account has no unneeded 
privileges. (These are good rules to follow no matter what OS/platform 
you're running the server or the client on.)

Here's the GRANT statement I used to create this user:

mysql> SHOW GRANTS FOR 'jon'@'192.168.2.115'\G
*************************** 1. row ***************************
Grants for [email protected]: GRANT SELECT, INSERT, UPDATE, DELETE, 
CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, 
SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW 
VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON *.* TO 
'jon'@'192.168.2.115' IDENTIFIED BY PASSWORD 
'*AC68CADB6A3E0CA5EF62F63045393EDE6DE2D2B4'
1 row in set (0.00 sec)

(That's not the real IP address or password hash, just in case anybody 
is wondering...)

Notice that I have not given this user any of the SHUTDOWN, GRANT, or 
REPLICATION-related privileges. This user *can* access the mysql system 
DB, which isn't great, but you can't specify a privilege that says, "You 
can access any DB _except_ database X". However, since the account can 
be used only from my laptop's IP address on my LAN, I consider that an 
acceptable risk - were someone to steal my laptop, they'd not be able to 
use that account to access my test server from elsewhere.

Let me stress again that this is a test server - it's not if something 
were to go really, horridly, drastically wrong, I could always wipe the 
hard drive and reinstall the OS. I would *not* allow a remote account to 
use 'ON *.*' on a production server - I'd specify all the databases 
explicitly.

Make sure that you understand the MySQL privilege system before granting 
administrative privileges to a remote user!

Also, use SSL to connect if possible.

Another alternative is to install something like phpMyAdmin on the 
server. In that case, no remote account is used.

cheers

jon.

> thanks
> -parul



-- 

Jon Stephens - [email protected]
Technical Writer - MySQL Documentation Team
Brisbane, Australia (GMT +10.00)
Office: +61 (7) 3209 1394
Mobile: +61 402 635 784
MySQL AB: www.mysql.com


-- 
MySQL GUI Tools Mailing List
For list archives: http://lists.mysql.com/gui-tools
To unsubscribe:    http://lists.mysql.com/[email protected]