Stormsam
05-08-2003, 12:08
Hi @ all,
ich habe vor etwas längerer Zeit dank eurer HIlfe hier im Forum einen Script zum erstellen von MySQL Usern über einen Browser bekommen.
Nun habe ich mein SuSE Linux von 7.3 auf 8.2 upgedatet und somit auch meine MySQL Version und die PHP-Version.
Bei SuSE Linux 7.3 war es immer so, das der User keine Rechte hatte, nur auf seiner Datenbank konnte er arbeiten. Mit dem Script wurde aber immer nur ein User erstellt, sodass der sich immer eine Datenbank anlegen mußte.
Nun, nach dem Update kann sich der User keine Datenbank mehr anlegen! Obwohl er die selben Rechte hat wie vorher auch.
Woran kann das liegen?
Ich habe von Gaert diese Seite bekommen: http://www.mysql.com/doc/en/Adding_users.html
Allerdings sind das die Befehle für die mysql-konsole, ich wußte jetzt nicht, wie ich das in php schreibe.
Am besten wäre es, wenn beim anlegen des Users auch gleich eine Datenbank mit dem gleichen namen wie dem vom User, sodass er die nicht extra anlegen muss.
Das Script sieht so aus:
<?php
if ($send)
{
$server_id=mysql_connect("localhost", "root", "passwort");
mysql_select_db("mysql",$server_id);
$recid=mysql_query("INSERT INTO user SET
host='localhost',
user='$neueruser',
password=PASSWORD('$pwd1') ",$server_id);
echo mysql_error($server_id);
$recid=mysql_query("INSERT INTO db SET
host='localhost',
db='$neueruser',
user='$neueruser',
select_priv='Y',
insert_priv='Y',
delete_priv='Y',
update_priv='Y',
create_priv='Y',
alter_priv='Y',
drop_priv='Y' ",$server_id);
echo mysql_error($server_id);
$recid=mysql_query("FLUSH PRIVILEGES");
die("User wurde angelegt");
}
?>
<form name="formular" action="<?php $PHP_SELF?> method="post">
<input type="hidden" name="send" value="1">
Username:
<input type="text" name="neueruser" value=""><br>
Passwort:
<input type="password" name="pwd1" value=""><br>
<input type="submit" value="Senden">
</form>
Hoffe ihr könnt mir weiterhelfen.
Würd mich über eine Antwort freun.
MfG
Stormsam
ich habe vor etwas längerer Zeit dank eurer HIlfe hier im Forum einen Script zum erstellen von MySQL Usern über einen Browser bekommen.
Nun habe ich mein SuSE Linux von 7.3 auf 8.2 upgedatet und somit auch meine MySQL Version und die PHP-Version.
Bei SuSE Linux 7.3 war es immer so, das der User keine Rechte hatte, nur auf seiner Datenbank konnte er arbeiten. Mit dem Script wurde aber immer nur ein User erstellt, sodass der sich immer eine Datenbank anlegen mußte.
Nun, nach dem Update kann sich der User keine Datenbank mehr anlegen! Obwohl er die selben Rechte hat wie vorher auch.
Woran kann das liegen?
Ich habe von Gaert diese Seite bekommen: http://www.mysql.com/doc/en/Adding_users.html
Allerdings sind das die Befehle für die mysql-konsole, ich wußte jetzt nicht, wie ich das in php schreibe.
Am besten wäre es, wenn beim anlegen des Users auch gleich eine Datenbank mit dem gleichen namen wie dem vom User, sodass er die nicht extra anlegen muss.
Das Script sieht so aus:
<?php
if ($send)
{
$server_id=mysql_connect("localhost", "root", "passwort");
mysql_select_db("mysql",$server_id);
$recid=mysql_query("INSERT INTO user SET
host='localhost',
user='$neueruser',
password=PASSWORD('$pwd1') ",$server_id);
echo mysql_error($server_id);
$recid=mysql_query("INSERT INTO db SET
host='localhost',
db='$neueruser',
user='$neueruser',
select_priv='Y',
insert_priv='Y',
delete_priv='Y',
update_priv='Y',
create_priv='Y',
alter_priv='Y',
drop_priv='Y' ",$server_id);
echo mysql_error($server_id);
$recid=mysql_query("FLUSH PRIVILEGES");
die("User wurde angelegt");
}
?>
<form name="formular" action="<?php $PHP_SELF?> method="post">
<input type="hidden" name="send" value="1">
Username:
<input type="text" name="neueruser" value=""><br>
Passwort:
<input type="password" name="pwd1" value=""><br>
<input type="submit" value="Senden">
</form>
Hoffe ihr könnt mir weiterhelfen.
Würd mich über eine Antwort freun.
MfG
Stormsam