On 1/9/06, Logan, David (SST - Adelaide) <[EMAIL PROTECTED]> wrote: > > True, however you could run the perl script locally via another > mechanism and allow it to return the database info in the format that > you desire, or run it using the mysql -e 'show databases' -u > local_user_that_doesn't_need_a_password > > The other option is to use an ssh tunnel to the server in question. I > use that quite a bit. Redirect a port say, 10000, to 3306 locally. That > would be ok if you can ssh to it, it will also secure the communications > and allow you to extract the information that you require. > > You only then need to open the ssh port on the remote machine. From my > reading of you emails, that seems to be ok to do. > > Regards > > --------------------------------------------------------------- > ********** _/ ********** David Logan > ******* _/ ******* ITO Delivery Specialist - Database > ***** _/ ***** Hewlett-Packard Australia Ltd > **** _/_/_/ _/_/_/ **** E-Mail: [EMAIL PROTECTED] > **** _/ _/ _/ _/ **** Desk: +618 8408 4273 > **** _/ _/ _/_/_/ **** Mobile: 0417 268 665 > ***** _/ ****** > ****** _/ ******** Postal: 148 Frome Street, > ******** _/ ********** Adelaide SA 5001 > Australia > i n v e n t > --------------------------------------------------------------- > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of > Anthony Ettinger > Sent: Tuesday, 10 January 2006 9:33 AM > To: Logan, David (SST - Adelaide) > Cc: Mikhail Berman; mysql@lists.mysql.com > Subject: Re: remotely show databases > > On 1/9/06, Logan, David (SST - Adelaide) <[EMAIL PROTECTED]> wrote: > > > > Hi Anthony, > > > > If you are accessing the db from perl, just execute a show databases > > from there using the DBI interface. There is quite an amount of doco > > about this and other features at cpan.org. You could also look at the > > source for phpMyadmin as this has to get the database names to display > > them. > > > > The advantage of the DBI interface is that with a tiny bit of work, it > > will probably work with Postgresql as well. > > > > You could also give SELECT permission to a specific user on all > > databases that is not passworded and this should allow you to list the > > databases without having to send a password. > > > > Regards > > > > > > --------------------------------------------------------------- > > ********** _/ ********** David Logan > > ******* _/ ******* ITO Delivery Specialist - Database > > ***** _/ ***** Hewlett-Packard Australia Ltd > > **** _/_/_/ _/_/_/ **** E-Mail: [EMAIL PROTECTED] > > **** _/ _/ _/ _/ **** Desk: +618 8408 4273 > > **** _/ _/ _/_/_/ **** Mobile: 0417 268 665 > > ***** _/ ****** > > ****** _/ ******** Postal: 148 Frome Street, > > ******** _/ ********** Adelaide SA 5001 > > Australia > > i n v e n t > > --------------------------------------------------------------- > > > > -----Original Message----- > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of > > Anthony Ettinger > > Sent: Tuesday, 10 January 2006 7:40 AM > > To: Mikhail Berman > > Cc: mysql@lists.mysql.com > > Subject: Re: remotely show databases > > > > 'SHOW DATABASES;' | mysql -u foo -h bar.com > > > > this works, I haven't tested it with other databases though. > > > > On 1/9/06, Mikhail Berman <[EMAIL PROTECTED]> wrote: > > > > > > Hi Anthony, > > > > > > I am not sure if you have an installation of MySQL on your local > > server. > > > If you do then you can try to use something like below to execute > your > > > "SHOW DATABASES" > > > > > > Local_server>[path to your mysql/bin directory]/mysql > > > --host=your_remote_host --user=your_user --password=your_password -e > > > "SHOW DATABASE" > > > > > > Make sure that [EMAIL PROTECTED] has appropriate rights on > > > your_remote_host (server) > > > > > > Best, > > > > > > Mikhail Berman > > > > > > -----Original Message----- > > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of > > > Anthony Ettinger > > > Sent: Sunday, January 08, 2006 4:03 PM > > > To: mysql@lists.mysql.com > > > Subject: remotely show databases > > > > > > I know I can login via ssh and run $mysqlshow > > > > > > But I would then have to parse the outputted text, is there an > easier > > > way (I'm using Perl locally here). > > > > > > The pitfall of running it locally is that you DO have to password > > > protect your database user since it's an outside connection to run > > "SHOW > > > DATABASES"; > > > > > > I tried $man mysqlshow, but didn't see any easy way of simply > > returning > > > a \n seperated list of databases. > > > > > > Any suggestions? > > > > > > I also need to do this for postgresql if anyone else knows of a > > > standalone app that dumps the databases for a specific user. > > > > > > Actually, for security reasons, the command has to be executed on the > remote > ssh server that has network access to the mysql server. Going across the > Internet with DBI; may not be feasible unless you open up the access > host.
I'm using Net::SSH::Perl, so far it seems to work, although my servers themselves are not uptime 100% :(