MYSQL Administartion Tool
<?
session_start();
?>
<style type="text/css">
<!--
body {
font-family: Arial,Sans;
}
a:link
{text-decoration: underline;
color: #000000;}
a:active
{text-decoration: underline;
color: #000000;}
a:visited
{text-decoration: underline;
color: #000000;}
a:hover
{text-decoration: underline;
color: #000000;}
-->
</style>
<?
//verbindung zu datenbank
$mysqlhost="localhost";
$mysqluser="root";
$mysqlpwd="MYPASS";
$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die;
$mysqldb="mysql";
mysql_select_db($mysqldb, $connection) or die;
//variablen
$make = $_POST['make']; if($make=="") $make = $_GET['make'];
$username = $_POST['username'];
$userpass = $_POST['userpass'];
if ($make == "login")
{
$sql = "SELECT Password FROM user WHERE User = '$username'";
$query = mysql_query($sql);
$row = mysql_fetch_array($query);
$pass_orig = $row['Password'];
$sql = "SELECT Password('$userpass')";
$query = mysql_query($sql);
$row = mysql_fetch_array($query);
$userpass = "Password('$userpass')";
$userpass = $row[$userpass];
if ($pass_orig == $userpass && $pass_orig != "")
{
$_SESSION['username'] = $username;
}
else
{
echo "<br><br><center><b>Benutzer oder Passwort ist falsch!</center></b>";
}
$make = "";
}
if ($make == "logout")
{
$_SESSION['username'] = "";
unset($_SESSION);
}
if (isset($_SESSION['username']) && $_SESSION['username'] != "")
{
if ($_SESSION['username'] == "root")
{
echo "<center>";
echo "<a href=\"?make=\">Übersicht</a> | ";
echo "<a href=\"?make=user_add\">Benutzer erstellen</a> | ";
echo "<a href=\"?make=logout\">Logout</a></center>";
echo "</center>";
}
else
{
echo "<center><a href=\"?make=\">Übersicht</a> | ";
echo "<a href=\"?make=db_add\">Datenbank erstellen</a> | ";
echo "<a href=\"?make=passwd\">Passwort ändern</a> | ";
echo "<a href=\"?make=logout\">Logout</a></center>";
}
if ($make == "user_passwd" && $_SESSION['username'] == "root")
{
$user = $_GET['user'];
$sql = "GRANT USAGE ON *.* TO '$user'@'localhost' IDENTIFIED BY '$user'";
$query = mysql_query($sql);
$sql = "FLUSH PRIVILEGES";
$query2 = mysql_query($sql);
$make = "";
}
if ($make == "user_del" && $_SESSION['username'] == "root")
{
$user = $_GET['user'];
//löschen der datenbanken des users
$sql = "SELECT Db FROM db WHERE user = '$user'";
$query = mysql_query($sql);
while ($row = mysql_fetch_array($query))
{
$sql = "DROP DATABASE " . $row[Db];
$query1 = mysql_query($sql);
$sql = "DELETE FROM db WHERE Db = '" . $row[Db] . "'";
$query2 = mysql_query($sql);
}
//benutzer löschen
$sql = "DELETE FROM user WHERE User = '$user'";
$query = mysql_query($sql);
$sql = "FLUSH PRIVILEGES";
$query3 = mysql_query($sql);
if ($query == 1)
{
echo "<br><br><br><b><center>User $user wurde gelöscht!<br></b></center>";
}
else
{
echo "<br><br><br><b><center>User $user konnte nicht gelöscht werden!<br></b></center>";
}
$make = "";
}
if ($make == "user_add2" && $_SESSION['username'] == "root")
{
$username = $_POST['username'];
$sql = "SELECT * FROM user WHERE User = '$username'";
$query = mysql_query($sql);
$total = mysql_num_rows($query);
if ($total == 0)
{
//user erstellen oder passwort ändern
$sql = "GRANT USAGE ON *.* TO '$username'@'localhost' IDENTIFIED BY '$username'";
$query = mysql_query($sql);
$sql = "FLUSH PRIVILEGES";
$query2 = mysql_query($sql);
if ($query == 1)
{
echo "<br><br><br><b><center>Benutzer $username mit Passwort $username wurde hinzugefügt!</b></center><br><br>";
}
else
{
echo "<br><br><br><b><center>Benutzer konnte nicht erstellt werden! Grund dafür können Sonderzeichen oder Leerschläge im Datenbanknamen sein!</b></center><br><br>";
}
}
else
{
echo "<br><br><br><b><center>Benutzer existiert bereits!</b></center><br><br>";
$make = "user_add";
}
}
if ($make == "user_add" && $_SESSION['username'] == "root")
{
echo "<form action=\"\" method=\"post\">";
echo "<input type=\"hidden\" name=\"make\" value=\"user_add2\">";
echo "<center><br><br><table>";
echo "<tr><td>Neuer Benutzername</td><td><input type=\"text\" name=\"username\" value=\"$username\"></td></tr>";
echo "<td><td colspan=\"2\"><input type=\"submit\" value=\"Hinzufügen\"></td></tr></table>";
echo "</form><br><br>";
}
if ($make == "db_del")
{
$database = $_GET['db'];
//löschen einer db
$sql = "DROP DATABASE $database";
$query = mysql_query($sql);
$sql = "DELETE FROM db WHERE Db = '$database'";
$query2 = mysql_query($sql);
$sql = "FLUSH PRIVILEGES";
$query3 = mysql_query($sql);
if ($query == 1 && $query2 == 1)
{
echo "<br><br><br><b><center>Datenbank $database wurde gelöscht!<br></b></center>";
}
else
{
echo "<br><br><br><b><center>Datenbank $database konnte nicht gelöscht werden!<br></b></center>";
}
$make = "";
}
if ($make == "passwd2")
{
$userpass_old = $_POST['userpass_old'];
$userpass_new = $_POST['userpass_new'];
$userpass_new2 = $_POST['userpass_new2'];
$sql = "SELECT Password FROM user WHERE User = '$_SESSION[username]'";
$query = mysql_query($sql);
$row = mysql_fetch_array($query);
$pass_orig = $row['Password'];
$sql = "SELECT Password('$userpass_old')";
$query = mysql_query($sql);
$row = mysql_fetch_array($query);
$userpass_old = "Password('$userpass_old')";
$userpass_old = $row[$userpass_old];
if ($pass_orig == $userpass_old)
{
if ($userpass_new != $userpass_new2)
{
echo "<br><br><br><center><b>Die neuen Passwörert stimmen nicht überein!</center></b>";
$make = "passwd";
}
else
{
if (strlen($userpass_new) <= 3)
{
echo "<br><br><br><center><b>Das neue Passwort muss mindestens 4 Zeichen lang sein!</center></b>";
$make = "passwd";
}
else
{
$sql = "GRANT USAGE ON *.* TO '$_SESSION[username]'@'localhost' IDENTIFIED BY '$userpass_new'";
$query = mysql_query($sql);
$sql = "FLUSH PRIVILEGES";
$query = mysql_query($sql);
if ($query == 1)
{
echo "<br><br><br><center><b>Passwort wurde geändert!</b><br><br>";
}
else
{
echo "<br><br><br><center><b>Password konnte nicht geändert werden!</b><br><br>";
$make = "passwd";
}
}
}
}
else
{
echo "<br><br><br><center><b>Altes Passwort ist falsch!</center></b>";
$make = "passwd";
}
}
if ($make == "passwd")
{
echo "<form action=\"\" method=\"post\">";
echo "<input type=\"hidden\" name=\"make\" value=\"passwd2\">";
echo "<center><br><br><table>";
echo "<tr><td>Alter Passwort</td><td><input type=\"password\" name=\"userpass_old\"></td></tr>";
echo "<tr><td>Neues Passwort</td><td><input type=\"password\" name=\"userpass_new\"></td></tr>";
echo "<tr><td>Passwort wiederholen</td><td><input type=\"password\" name=\"userpass_new2\"></td></tr>";
echo "<td><td colspan=\"2\"><input type=\"submit\" value=\"Speichern\"></td></tr></table>";
echo "</form><br><br>";
}
if ($make == "db_add2")
{
$database = $_SESSION[username] . "_" . $_POST['database'];
$sql = "SELECT * FROM db WHERE Db = '$database'";
$query = mysql_query($sql);
$total = mysql_num_rows($query);
if ($total == 0)
{
//datenbank erstellen
$sql = "CREATE DATABASE $database";
$query = mysql_query($sql);
if ($query == 1)
{
//berechtigungen einfügen
$sql = "INSERT INTO db (Host,Db,User,Select_priv,Insert_priv, Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES('localhost','$database','$_SESSION[username]', 'Y','Y','Y','Y','Y','Y')";
$query = mysql_query($sql);
$sql = "FLUSH PRIVILEGES";
$query = mysql_query($sql);
echo "<br><br><br><b><center>Die Datenbank " . $database . " wurde hinzuegefügt!</b><br><br></center>";
}
else
{
echo "<br><br><br><b><center>Datenbank wurde nicht erstellt! Grund dafür können Sonderzeichen oder Leerschläge im Datenbanknamen sein!";
$make = "db_add";
}
}
else
{
echo "<br><br><br><b><center>Datenbank $database existiert bereits! Wählen Sie bitte einen anderen Namen!</b></center>";
$make = "db_add";
}
}
if ($make == "db_add")
{
echo "<form action=\"\" method=\"post\">";
echo "<input type=\"hidden\" name=\"make\" value=\"db_add2\">";
echo "<center><br><br><table>";
echo "<tr><td>Datenbankname </td><td><input type=\"text\" name=\"database\" value=\"" . $_POST['database'] . "\"></td></tr>";
echo "<td><td colspan=\"2\"><input type=\"submit\" value=\"Hinzufügen\"></td></tr></table>";
echo "</form><br><br>";
}
if ($_SESSION['username'] == "root")
{
if ($make == "")
{
$sql = "SELECT User FROM user WHERE User != 'root' AND User != 'debian-sys-maint' AND User != '' ORDER BY User";
$query = mysql_query($sql);
$total = mysql_num_rows($query);
echo "<br><br><center>Anzahl Benutzer: $total<br><br>";
echo "<table>";
while ($row = mysql_fetch_array($query))
{
echo "<tr><td><b>" . $row[User] . " [<a href=\"?make=user_del&user=" . $row[User] .
"\" onclick=\"javascript:return confirm('Soll der Benutzer " . $row[User] .
" und alle seine Datenbanken wirklich gelöscht werden?')\">löschen</a> | <a href=\"?make=user_passwd&user=" . $row[User] .
"\" onclick=\"javascript:return confirm('Soll das Passwort vom Benutzer " . $row[User] .
" wirklich zurückgesetzt werden?')\">Passwort zurücksetzen</a>]</td></tr>";
$sql = "SELECT Db FROM db WHERE User = '" . $row[User] . "'";
$query2 = mysql_query($sql);
while ($row2 = mysql_fetch_array($query2))
{
echo "<tr><td colspan=\"2\"> " . $row2[Db] . "</td></tr>";
}
}
echo "</table></center><br><br>";
}
}
else
{
if ($make == "")
{
$sql = "SELECT Db FROM db WHERE User = '$_SESSION[username]' ORDER BY Db";
$query = mysql_query($sql);
$total = mysql_num_rows($query);
echo "<br><br><center>Anzahl Datenbanken: $total<br><br>";
echo "<table>";
while ($row = mysql_fetch_array($query))
{
echo "<tr><td>" . $row[Db] . " [<a href=\"?make=db_del&db=" . $row[Db] . "\" onclick=\"javascript:return confirm('Soll die Datenbank " . $row[Db] . " wirklich gelöscht werden?')\">löschen</a>]</td></tr>";
}
echo "</table></center><br><br>";
}
}
}
else
{
echo "<form action=\"\" method=\"post\">";
echo "<input type=\"hidden\" name=\"make\" value=\"login\">";
echo "<center><br><br><br><br><table>";
echo "<tr><td>MySQL Benutzer</td><td><input type=\"text\" name=\"username\"></td></tr>";
echo "<tr><td>Passwort</td><td><input type=\"password\" name=\"userpass\"></td></tr>";
echo "<td><td colspan=\"2\"><input type=\"submit\" value=\"Login\"></td></tr></table>";
echo "</form><br><br>";
}
//copyright
echo "<hr><center>© 2009 Wyden Silvan</center>";
?>
