#!/usr/bin/perl use DBI; use CGI; my $q = new CGI; select(STDERR); $|++; select(STDOUT); ############## my %desc; my $data; { local $/ = undef; open(DATA, "mysqltable.html"); $data = <DATA>; } $data =~ s/<(?:TR|TD|\/TD|\/TR|TABLE|TBODY|\/TABLE|\/TBODY)>//g; my @lines = split "\n\n", $data; my $key; foreach my $val (@lines) { $val =~ s/<CODE>(.*)<\/CODE>/$key=$1;"";/e; $desc{$key} = $val if $key; } ############### my $rootpwd = $q->param('rootpwd'); if($rootpwd) { status(); } else { login(); } sub login { my $wasproblem = shift; my $html = "<html><head><title>MySQLStatus</title></head><body><h1 +>MySQLStatus</h1>"; $html .= "<font color=red><b>$wasproblem</b></font><br>" if $waspr +oblem; $html .= "In order to view the status of your MySQL server, please + enter the MySQL root password.<br>" . "<form action='mysqlstatus.pl' method=post><b>MySQL root p +assword:</b> <input type=text name=rootpwd>" . "<br><input type=submit value='Log in'></form></body></htm +l>\n"; print $html; exit; } sub status { my $dbh = DBI->connect('dbi:mysql:mysql:localhost:3306', 'root', $ +rootpwd) or login($DBI::errstr); my $sth = $dbh->prepare("SHOW STATUS;"); $sth->execute(); my($key, $val, $bgcolor); my $color = 0; print "<html><head><title>MySQLStatus</title><base href=\"http://w +ww.mysql.com/doc/\"></head><body><h1>MySQL Server on localhost:3306</ +h1><table>"; while(($key, $val) = $sth->fetchrow_array()) { $bgcolor = ($color++ % 2? "#BECDDA" : "#DEE6ED"); print "<tr bgcolor='$bgcolor'><td>$key</td><td>$val</td><td>$d +esc{$key}</td></tr>"; } print "</table></body></html>"; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: MySQL Status Tool
by RMGir (Prior) on Apr 15, 2002 at 16:23 UTC | |
by qslack (Scribe) on Apr 15, 2002 at 20:07 UTC | |
by RMGir (Prior) on Apr 15, 2002 at 20:12 UTC | |
by Anonymous Monk on Apr 16, 2002 at 15:56 UTC | |
by mr_mischief (Monsignor) on Apr 16, 2002 at 19:31 UTC | |
| |
by graff (Chancellor) on Apr 22, 2002 at 00:35 UTC |