Supportnet / Forum / Datenbanken
MySQL
Frage
Hallo!,
hab da ein kleines Problem…
… bisher hab ich immer meine PHP Experimente auf meinem Web Server laufen lassen, doch jetzt wollt ich einen auf meinem Rechner Betreiben.
Hatte da an ein WAPM gedacht.
Der Apache rennt schon und ist eingestellt
Das PHP läuft auch und die Extension für MySQL ist eingeschaltet
MySQL 4 ist auch Installirt
Wollte dan Testen ob alles Läuft und hab mir dafür eine Testdatei geschrieben
#--------------------------
Testdatei: (test.php)
<h1>Test Test Test</h1>
<?php
echo "php funktioniert";
$link = mysql_connect("localhost", "fabian", "test");
?>
#---------------------------
Die My SQL.ini schaut so aus
#---------------------------
MySQL.ini
#This File was made using the WinMySQLAdmin 1.4 Tool
#09.08.2006 14:57:00
#Uncomment or Add only the keys that you know how works.
#Read the MySQL Manual for instructions
[mysqld]
basedir=C:/PHP/Sever/MySQL
#bind-address=169.254.160.4
datadir=C:/PHP/Sever/MySQL/data
#language=C:/PHP/Sever/MySQL/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M
[WinMySQLadmin]
Server=C:/PHP/Sever/MySQL/bin/mysqld-nt.exe
user=fabian
password=test
#---------------------------
Starte ich jetzt aber die Testdatei mittels localhost/test.php bekomm ich folgendes:
#--------------------------
Test Test Test
php funktionirt
Warning: mysql_connect() [function.mysql-connect]: Access denied for user: ´fabian@localhost´ (Using password: YES) in C:\PHP\Sever\DocumentRoot\test1.php on line 4
#-------------------------
Wieso ??
Schonmal danke furs durchlesen
Antwort 1 von rabies
Hi,
Hast Du bei der Installation ein root-Passwort vergeben? Wenn ja, dann könntest Du Dich jetzt mit "root" auf dem MySQLd anmelden und den Benutzer "fabian" einfach anlegen. Durch einfaches Schreiben eines Benutzernamens und Passwortes ist das ganze nicht erledigt, da MySQL die Benutzer alle in die Tabelle "user" in der Datenbank "mysql" schreibt.
Das einfachste wäre, wenn Du Dich mit dem root-Benutzer anmeldest (Pfad\MySQL\mysqld -u root -p (im Falle, dass ein Passwort vergeben wurde)) und Du dann via des SQL-Statements GRANT den Benutzer fabian anlegst.
--rabies.
Hast Du bei der Installation ein root-Passwort vergeben? Wenn ja, dann könntest Du Dich jetzt mit "root" auf dem MySQLd anmelden und den Benutzer "fabian" einfach anlegen. Durch einfaches Schreiben eines Benutzernamens und Passwortes ist das ganze nicht erledigt, da MySQL die Benutzer alle in die Tabelle "user" in der Datenbank "mysql" schreibt.
Das einfachste wäre, wenn Du Dich mit dem root-Benutzer anmeldest (Pfad\MySQL\mysqld -u root -p (im Falle, dass ein Passwort vergeben wurde)) und Du dann via des SQL-Statements GRANT den Benutzer fabian anlegst.
--rabies.
Antwort 2 von Deathfun
Wie genau melde ich mich den als root an ?
Installiert ist MySQL hier:
"C:\PHP\Sever\MySQL\"
Was soll ich den dan wo eingeben? Also das "mysqld -u root -p". Kenn mich da nicht so aus.
Gruß Fabian
Installiert ist MySQL hier:
"C:\PHP\Sever\MySQL\"
Was soll ich den dan wo eingeben? Also das "mysqld -u root -p". Kenn mich da nicht so aus.
Gruß Fabian
Antwort 3 von DeluxeStyle
hast du schon mal von xampp gehört?
findest unter www.apachefriends.org
dort findest du ein packet, bestehend aus apache, mysql und php
musst nur installieren und schon ist alles fertig eingerichtet.
damit würdest du deine probleme umgehen
findest unter www.apachefriends.org
dort findest du ein packet, bestehend aus apache, mysql und php
musst nur installieren und schon ist alles fertig eingerichtet.
damit würdest du deine probleme umgehen
Antwort 4 von Deathfun
Ja, hab ich würde das aber leiber so lösen.
Antwort 5 von rabies
Okay, um Dich anzumelden brauchst Du erst einmal eine Eingabeaufforderung. (Windows-Taste + R; danach cmd eingeben und auf Enter) Danach springt eine "DOS-Box" auf. Dort navigierst Du dann zum Pfad "C:\PHP\Sever\MySQL\bin"; sprich, Du gibst folgendes ein:
Dann solltest Du auch schon in diesem Ordner sein.
Dann besteht immernoch die Frage, ob Du ein root-Passwort beim Installieren von MySQL direkt vergeben hast, oder nicht. Wenn nicht, dann reicht es nun, wenn Du einfach das eingibst:
Falls Du eines eingegeben hast, dann muss das ganze so aussehen:
... dann würde noch eine Abfrage nach dem Passwort kommen. Eingeben. Enter drücken. Dann bist Du offiziell in der MySQL-Konsole (sofern alles geklappt hat).
Um dann dort einen neuen Benutzer anzulegen, musst Du folgendes eingeben:
Danach würde in diesem Falle ein neuer Benutzer, namens Benutzername, mit dem Passwort "Passwort" angelegt, der das Recht hat, auf allen Datenbanken in allen Tabellen rumzupfuschen. (Näheres zu Privilegien und Rechten für einzelne Benutzer kannst Du unter anderem auf MySQL.com (de) erfahren.)
--rabies.
cd C:\PHP\Sever\MySQL\bin Dann solltest Du auch schon in diesem Ordner sein.
Dann besteht immernoch die Frage, ob Du ein root-Passwort beim Installieren von MySQL direkt vergeben hast, oder nicht. Wenn nicht, dann reicht es nun, wenn Du einfach das eingibst:
mysql -u rootFalls Du eines eingegeben hast, dann muss das ganze so aussehen:
mysql -u root -p... dann würde noch eine Abfrage nach dem Passwort kommen. Eingeben. Enter drücken. Dann bist Du offiziell in der MySQL-Konsole (sofern alles geklappt hat).
Um dann dort einen neuen Benutzer anzulegen, musst Du folgendes eingeben:
GRANT ALL ON *.* TO Benutzername IDENTIFIED BY PasswortDanach würde in diesem Falle ein neuer Benutzer, namens Benutzername, mit dem Passwort "Passwort" angelegt, der das Recht hat, auf allen Datenbanken in allen Tabellen rumzupfuschen. (Näheres zu Privilegien und Rechten für einzelne Benutzer kannst Du unter anderem auf MySQL.com (de) erfahren.)
--rabies.
Antwort 6 von Deathfun
Dabke rabies.
Funktionirt so wie du geschrieben hast, doch irgendwie gehts noch net.
Ich kann mit dem befehl
"GRANT ALL ON *.* TO Benutzername IDENTIFIED BY Passwort " einen Benutzer anlegen wenn ich das Passwort in Anführungszeichen setze, soweit so gut.
Dan gebe ich Quit ein und logge mich so wieder ein
"mysql -u fabian -p" es kommt eine Passwortabfrage wo ich mein Passwort eingebe.
Dann jedoch bekomme ich wieder die Meldung
"ERROR 1045: Access denied for User: "fabian@localhost" (Using passwird: YES)
Noch eine Idee ??
Danke Fabian
Funktionirt so wie du geschrieben hast, doch irgendwie gehts noch net.
Ich kann mit dem befehl
"GRANT ALL ON *.* TO Benutzername IDENTIFIED BY Passwort " einen Benutzer anlegen wenn ich das Passwort in Anführungszeichen setze, soweit so gut.
Dan gebe ich Quit ein und logge mich so wieder ein
"mysql -u fabian -p" es kommt eine Passwortabfrage wo ich mein Passwort eingebe.
Dann jedoch bekomme ich wieder die Meldung
"ERROR 1045: Access denied for User: "fabian@localhost" (Using passwird: YES)
Noch eine Idee ??
Danke Fabian
Antwort 7 von thomasn1975
Versuch mal
Zitat:
GRANT ALL ON *.* TO Benutzername@localhost IDENTIFIED BY Passwort
GRANT ALL ON *.* TO Benutzername@localhost IDENTIFIED BY Passwort

