XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Serveradministration und serverseitige Scripte (http://xhtmlforum.de/forumdisplay.php?f=80)
-   -   Keine Verbindung zu mysql (http://xhtmlforum.de/showthread.php?t=52610)

David 07.07.2008 21:23

Keine Verbindung zu mysql
 
Ich hab nun schon mehrere Tage rumprobiert und gegooglet, steh aber immer noch vor dem Problem, dass ich auf meinem Windowsrechner keine Verbindung zu mysql bekomme.

mein Testscript:
PHP-Code:

<?php
echo 'Hallo';
    
$Username "root";
    
$Password "*******";
    
$Database "sample";
    
$Hostname "localhost";
    
    
$link mysql_connect($Hostname$Username$Password);
        
        if (!
$link) {
            die ( 
'Keine Verbindung möglich!' mysql_error());
            }        
        else { echo 
'Verbindung hergestellt!';}
    
    
mysql_close($link);
?>

Verursacht diese Fehlermeldung:

Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in C:\...\htdocs\db_test.php on line 8

Der Prozess ist gestartet und ich kann auch mit der DB über das eingabefenster arbeiten.

Woran kann das liegen?

threadi 07.07.2008 22:19

Gibt viele Möglichkeiten:

- Stimmen die Logindaten (Benutzername und Passwort)?
- Hat der angegebene Benutzer das recht lokal auf die angegebene Datenbank zuzugreifen?
- Läuft der MySQL-Server wirklich?

fox 07.07.2008 23:01

Möglicherweise läuft der MySQL-Server auch auf einem anderen Port.

David 08.07.2008 01:24

Die Benutzerdaten stimmen, vorausgesetzt "root" ist der standardname, habs testweise auch mal mit "admin" probiert, geht auch nicht.

Das Passwort stimmt auf jeden fall.

Der Server läuft wirklich. der Prozess mysqld-nt.exe startet beim hochfahren.

Mal zu der Port-sache. Wie bekomm ich das raus, auf welchem Port mysql läuft und auf welchem muss er denn laufen?

Aus dem Onlinehandbuch von mysql bekomme ich den Hinweis die Datenbankt zu testen und zwar mit folgenden Befehlen:

PHP-Code:

shellmysqladmin version
shell
mysqladmin variables
shell
mysqladmin -`hostnameversion variables
shell
mysqladmin -`hostname` --port=3306 version
shell
mysqladmin -h host_ip version
shell
mysqladmin --protocol=socket --socket=/tmp/mysql.sock version 

wo genau geb ich den befehl ein?
hab mal nach shell gegooglet: soll man über .../bin/myspl.exe aufrufen.
Dabei zeigt es mir nur für einen kurzen moment ein eingabefenster und dann schließt es sich spontan wieder.

threadi 08.07.2008 01:34

Da du Windows nutzt: Start > Ausführen > "cmd" eingeben, ohne Anführungszeichen. Dort dann die mysql.exe aufrufen.

3306 ist imho der von MySQL verwendete Port, siehe auch das Manual: MySQL :: MySQL 5.1 Referenzhandbuch :: 5.7.1 Allgemeine Sicherheitsrichtlinien

Und wie schauts mit den Zugriffsrechten für den Benutzer aus?

David 08.07.2008 12:04

Wenn ich mysql.exe über die Eingabeaufforderung starte kommt folgende Meldung:
Error 1045 (28000): Access denied for user '0DBC'@'localhost' (using passwort: NO)

Was die Zugriffsrechte angeht, das weiß ich nicht. Ich hab die Installation nach dem Tutorial auf ZDNet gemacht. Und bisher noch nix weiter. Also nur ein Rootpasswort festgelegt damit müsste ich ja als "root" vollen zugang haben, oder?
Installation und Integration von PHP und MySQL unter Windows - Programmierung | ZDNet.de Developer

Ich hab den Setupwizzard noch mal durchlaufen und hab den TCP/IP port nun aktiviert: nun gehts.
Es stand aber ausdrücklich da, dass es auch ohne die TCP/IP Unterstützung auf lokalen Umgebungen läuft.

Ist das jetzt ein Sicherheitsrisiko, wenn der Port aktiviert bleibt?

inta 08.07.2008 13:26

Bei unixoiden Systemen ist es gebräuchlich, dass verschiedene Dienste über TCP und entsprechende Ports kommunizieren. Soweit ich weiß ist das auch die einzige Möglichkeit die PHP nutzt um eine Verbindung zu MySQL aufzubauen, daher wirst du diese Option wohl brauchen.

David 08.07.2008 14:26

Gut, dann bleibts so.

Aber was ist jetzt mit dieser "shell" die sich nicht starten lässt und worin besteht der unterschied zum "Command line client" den ich über den Programmordner im Startmenü aufrufen kann?

inta 08.07.2008 14:41

Bei der Shell kann ich dir leider nicht wirklich weiter helfen, da ich die noch nie unter Windows benutzt habe (ich verwende zum Entwickeln ein LAMP bzw. "LAPP").

Kann es sein, dass du einen ODBC-Treiber brauchst?

protonenbeschleuniger 08.07.2008 15:23

Zitat:

Zitat von DNA (Beitrag 392933)
Gut, dann bleibts so.

Aber was ist jetzt mit dieser "shell" die sich nicht starten lässt und worin besteht der unterschied zum "Command line client" den ich über den Programmordner im Startmenü aufrufen kann?

Keiner, bzw. nur der das der Programmordner wohl ein paar Parameter übergeben bekommt (ich find grad nicht die passende Seite) aber du kannst ihn von der Konsole so starten:
PHP-Code:

mysql --user=root --password=***** 



Alle Zeitangaben in WEZ +2. Es ist jetzt 02:30 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023