[MySQL 5.5] Problem bei Installation bzw. Server starten (Win7, 64bit)

...oh man, Schande über mich...
Die Installation von der Community Version ging ja eigentlich schon (Beitrag oben). Hatte eigentilch alles so gemacht wie Du eben, bis auf TCP/IP (wollte ja nur lokal), Path und Reboot. Working bench ging nur nicht.

Beim erneuten testen ist mir aufgefallen, dass in der Workbench bei Connection "Host: localhost: 3306" steht. Und bei server "Local MySQL55". Da habe ich nun mal "New Server Instance" gemacht und dann gings. Das local in "Local MySQL55" ist bischen doppeldeutig. Da startet es wohl den TCP/IP zugänglichen server. Naja zumindest geht jetzt alles. Nochmal großen Dank an Dich SPiKEe, hoffe kann dir auch mal wo helfen.
 

Anhänge

  • sogehts.png
    sogehts.png
    116 KB · Aufrufe: 194
Wie jetzt ? Du hast beim installieren die Option "Enable TCP/IP Networking" DEAKTIVIERT ?
Sorry ... aber dazu fällt mir nichts ein.
Auch wenn du nur auf localhost arbeitest brauchst du doch eine Möglichkeit den MySQL zuerreichen ... und das geschiet nunmal über das TCP/IP ... auf Port 3306.
Und unter Windows hast du auch gar keine andere Wahl. FileSystem-Sockets wie unter Unix gibt es unter Windows nicht ... würde also auch nicht funktionieren. Und mit Pipes würdest du nicht gerade weit kommen.

Jetzt versteh ich auch erst die Fehlermeldung von ganz oben ... natürlich gibt er an "keine Connect-Möglichkeit ausgewählt" wenn du ihm die einzige unter Windows mögliche *nämlich TCP/IP* wegnimmst ...

Also das musst du mir jetzt erklären wie du dadrauf gekommen bist ?


ps : die Workbench hättest du vielleicht auch noch mal de- und re-installieren sollen. In der Regel kann man dierekt mit den Standardwerten arbeiten.
 
hi ich hatte alles deinstalliert. Und auch jetzt ohne TCP/IP gemacht. Man muss dann nur in Workbench nen lokalen Host über pipes erstellen und dann gings sofort.

>Also das musst du mir jetzt erklären wie du dadrauf gekommen bist ?
Weil ich nur ne Datenbank für ein Programm brauche, welches (vorerst) nur auf meinem PC laufen soll und keine von aus connecten soll.
 
Zuletzt bearbeitet:
Gut ... dann hau ich dir jetzt mal eine wohl sehr "witzige" Frage um die Ohren : und wie genau denkst du wird sich dein Programm zur Datenbank verbinden wollen ? Mit 99%iger Sicherheit wird es versuchen eine TCP/IP Verbindung aufzubauen was natürlich fehlschlagen wird. Die einzige Möglichkeit wie du es trotzdem ohne TCP/IP schaffen könntest wäre wenn das Programm welches du verwenden willst ebenso über Pipes geht wie es die Workbench tut ... was aber nur sehr selten vorkommen dürfte.
Und wenn du eh mit Pipes arbeiten willst ... dann nützen dir Connectoren auch nichts mehr ...

Ich weis zwar immer noch nicht wie du darauf kommst das , selbst wenn du es local machst , du überhaupt keinerlei TCP/IP brauchst ... aber es zeugt davon das du auf dem ganzen Gebiet entweder wenig bis keine Ahnung hast oder es dir mal irgendwer extrem falsch beigebracht hat ... aber wie gesagt : in 99% aller Fälle wirst du um TCP/IP nicht herumkommen ... und aus genau diesem Grund vertehe ich nicht warum du es dann deaktiviert hast.
Wenn du nicht willst das jemand von "außen" auf irgendwelche Dienste deines Rechners zugreifen kann ... dann besorg dir einen Router mit Hardware-FW ... und eine entsprechende Software-FW ...


*Es ist sowieso ein sehr großes Sicherheitsrisiko OHNE Router mit FW ins Internet zu gehen.*
 
so gehts auch ohne TCP/IP, falls es noch jemand brach
(http://dev.mysql.com/doc/refman/5.1/de/connector-j-reference-configuration-properties.html unten)

Java:
import java.sql.*;

public class DB {

    public static void main(String[] args) {

        Connection conn = null;
        String dbName = "dbName";
        String damitGehtsAuchOhneTCPIP=
                        "?socketFactory=com.mysql.jdbc.NamedPipeSocketFactory";

        String url = "jdbc:mysql://./"+dbName+damitGehtsAuchOhneTCPIP;

        String user = "root";
        String pass = "****";

        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conn = DriverManager.getConnection(url, user, pass);
            System.out.println("Verbunden");

        } catch (Exception e) {
            System.err.println("Kann nicht verbinden!" + e.toString());
        } finally {
            if (conn != null) {
                try {
                    conn.close();
                    System.out.println("Verbindung beendet.");

                } catch (Exception e) {
                    /* Fehler beim Schliessen ignorieren */
                }
            }
        }
    }
}
 
Zuletzt bearbeitet:
Wow ... da muss ich dir jetzt mal das DANKE geben =D
Das wusste ich bis jetzt noch nicht das es selbst einen NamedPipe-Treiber für Java gibt ...

Denn noch stellt sich mir die Frage des Sinnes dahinter : WOZU ?
Das einzige was mir einfallen würde : ein MySQL-Server ist von außen erreichbar ohne Router und ordentliche FireWall. Dann könnte man aber immer noch den Port ändern und damit schon mal die größte Angriffsfläche aus dem Wegräumen. Auch könnte man *auch wenn das echt overkill wäre* ein Client-Zertifikat für einen bestimmten User anfondern. Außerdem gibt es noch die HOST-Direktive mit der man MySQL-Intern festlegen kann von welchem Host aus auf einen bestimmten User zugegriffen werden darf. Stellt man hier ROOT auf localhost kommt man von außen auch dann nicht rein selbst wenn man das Passwort hat.

Du siehst also : "mein Server soll von außen nicht erreichbar sein" kann man außer mit einem Router *mit eingebauter HardwareFireWall* auch noch anderst begenen : HOST-Direktive *sollte man im übrigen IMMER verwenden* , gute Passwörter , Port ändern , Client-Zertifikate ... da würde mir noch so einiges einfallen.

Nur aus diesem Grund die TCP/IP-Kommunikation unterbinden ... das finde ich ist dann doch schon sehr M$-gebunden *wobei es sowas wie Pipes ja auch unter Unix gibt ... nur heißt es da trotzdem Socket*.

Außerdem machen sich Pipes nicht wirklich schön ... schon garnicht mit Java was eigentlich auf Plattformunabhängigkeit basiert ....

*Thema Java : bitte ändere die Code-Tags von [code][/code] in [code=java][/code] da das Java-spezifische Syntaxhighlightning die Lesbarkeit erhöt.*
 
Zurück