Ralf: MySQL Verwaltung Paralles vs Konsole

Hallo,

ich habe mir einen roor server bei 1und1 geleistet und versuche gerade mich mit dem Ding anzufreunden.

Ich möchte eine Website, welche zwei MySQL Datenbanken nutzt, hosten.
Beide DB sollen auf den bordeigenen MySQL server.

Auf den Server ist seitens 1und1 Paralles Plesk Panel 10 installiert.

Nachdem ich eine Website konfiguriert habe, habe ich mich im Plesk unter:
Websites & Domains -> Datenbanken daran gemacht, zwei Datenbanken zu erzeugen:

myDB1 und myDB2. Soweit so gut.

Nun habe ich für die myDB1 den Benutzer "ich" angelegt. Geht auch.
Jetzt braucht die myDB2 aber auch einen zugriffsberechtigten Benutzer.

Frage 1: kann mir jemand sagen, wie ich den eben angelegten Benutzer "ich" auf myDB1 UND myDB2 loslassen kann? Ich finde in Plesk keine Möglichkeit dafür.

Wenn ich für myDB2 auch einen Benutzer "ich" anlegen möchte, meckert er (verständlicher Weise): "Fehler: Verbindung zum Datenbankserver aufgrund eines Namenskonflikt fehlgeschlagen: User with requested name already exists "

Wenn ich mich nun (über PuTTY) in die Konsole begebe und

mysql --host=localhost --user=ich --password=zauberwort

eingebe, gibt er mir auf die Frage:

show databases;

nur die Antwort:
+--------------------+
| Database           |
+--------------------+
| information_schema |
| myDB1              |
+--------------------+

Wo ist meine myDB2? Wohl unsichtbar weil ich mich als "ich" angemeldet habe.

Nun wollte ich den Stress umgehen indem ich in der MySQL Konsole einen neue Datenbank anlege:

create database myDB3

Da haut er mir:

ERROR 1044 (42000): Access denied for user 'ich'@'%' to database 'myDB3'

um die Ohren.

Frage 2: kann mir jemand sagen, wie ich "sauber" zwei Datenbanke auf den Server bekommen zwischen denen ich dann mit den MySQL-Befehl use hin- und herschalten kann.

Danke.

Ralf

  1. hi,

    Frage 1: kann mir jemand sagen, wie ich den eben angelegten Benutzer "ich" auf myDB1 UND myDB2 loslassen kann? Ich finde in Plesk keine Möglichkeit dafür.

    Ich auch nicht.

    Wenn ich für myDB2 auch einen Benutzer "ich" anlegen möchte, meckert er (verständlicher Weise): "Fehler: Verbindung zum Datenbankserver aufgrund eines Namenskonflikt fehlgeschlagen: User with requested name already exists "

    Finde ich unverständlich. Nicht die Fehlermeldung, sondern die scheinbare Logik.

    Am Besten isses, Du machst das Beste daraus. Lege Credentials an, wo o.g. Supertool durchgehen lässt. Und organisiere Deine DB-Zugriffe über eine Konfigurationsdatei, in welcher mehrere Credentials vorgehalten werden können. Z.B. eine ini-Datei

    [myDB1]
    user=
    pass=
    host=
    base=
    port=

    [myDB2]
    user=
    pass=
    host=
    base=
    port=

    Horst

    --
    Wenn Du morgens in den Spiegel guckst, bedenke, dass das Licht von Deinem Spiegelbild doppelt solange braucht, wie das Licht von Dir bis zum Spiegel.
  2. Moin,

    für die Verwaltung von MySQL-Datenbanken (vor allem im Bezug auf die User-Verwaltung) ist mir MyWebSQL lieb geworden. Vielleicht wäre das ja etwas für dich.

    Grüße Marco

    --
    Ich spreche Spaghetticode - fließend.
  3. Auf den Server ist seitens 1und1 Paralles Plesk Panel 10 installiert.

    Und damit ist "das halbe System zerschossen" - einmal Plesk, immer Plesk. Hintergund ist, dass bei der Installation von Plesk die Konfiguration erheblich angepasst wird. Die üblichen Pfade der Konigurationsdateien mögen noch existieren, aber was man da ändert wird regelmäßig von Plesk überschrieben.

    Und kennt Plesk was nicht wird es ganz böse. Das bedeutet vor allem, dass man sein Wissen über die Konfiguration von Diensten wegwerfen kann. Ich hatte das mal und habe Plesk weggeworfen. Das ging am einfachsten, indem ich den Kunde anrief und dem sagte, er solle mal von Verwaltungsoberfläche des VServers aus den Debian-Server ohne PLESK neu installieren. Danach waren alle seine Probleme in 20 Minuten erledigt.

    Zu MySQL und den Datenbanken.

    Datenbanken legt der root an oder sonst ein Nutzer, der in MySQL das Recht dazu hat. Dein Nutzer 'ich' hat offenbar Rechte an einer Datenbank. 'create database myDB3' darf er nicht. Das darf der Root.

    Also, als Root anmelden,

    mysql > create database myDB3

    ausführen.

    dann

    mysql > [link:http://dev.mysql.com/doc/refman/5.1/de/grant.html@title=GRANT] ALL ON myDB3.* TO 'ich'@'%' IDENTIFIED BY 'neues Passwort'

    Danach sollte der Benutzer genug Rechte an der Datenbank haben.

    Jörg Reinholz

    P.S. Ich halte es für kontraproduktiv bis gefährlich einen Server zu mieten, dort irgendwelche Dienste zu betreiben und nicht mal die grundlegende Benutzerverwaltung dieser Dienste zu kennen. Das ist, ich betone es nochmal, nicht nur Murks, sondern gefährlich und kann richtig teuer werden, das Risiko ist hinsichtlich Wahrscheinlichkeit und des eintretenden Schadens enorm. Einen "RootServer" mietet (auf Grund des Preises) regelmäßig nur ein Unternehmen. Da sollte die Einsicht und das Geld da sein, sich entsprechender Hilfe zu versehen, statt hinterher zu begreifen, dass die Ersparnis die beim Schaden entstandenen GESAMTKOSTEN nur zu einem Bruchteil deckt.

    Bitte nimm das ernst.

    1. Also, als Root anmelden,

      Wenn das mal so einfach wäre.
      mysql --host=localhost --user=root --password=daspassword
      bringt:
      ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

      Nach etwas Recherche habe ich herausgefunden, dass Plesk "root" in "admin" umbenennt. Toll! Du scheinst mit Deiner Meinung über Plesk nicht falsch zu liegen. Aber egal, ich habe den Mist nun jetzt einmal.

      mysql --host=localhost --user=admin --password=daspassword
      bringt aber das gleiche:
      ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

      /usr/local/psa/bin/admin --show-password
      bestätigt mir, dass ich auch das richtige password habe.

      Wie komme ich jetzt als root / admin in mysql?
      Mit Benutzer "ich" und dem passenden password geht's.

      P.S. Ich halte es für ... gefährlich einen Server zu mieten, ... und nicht mal die grundlegende Benutzerverwaltung dieser Dienste zu kennen.

      Ich bin gerade dabei meine Unwissenheit zu bekämpen.

      Einen "RootServer" mietet (auf Grund des Preises) regelmäßig nur ein Unternehmen.

      Die gibts für EUR 39,99 / Monat. Das ist nun soo gigantisch auch wieder nicht. Ich möchte das Ding als (kleines) Unternehmen betreiben. Bislang habe ich meine Sachen auf einen vhost eines Anbieter der vor einiger Zeit an einen großen der Branche in usa verkauft wurde. Seit dem gibt es Support nur noch auf englisch per Mail. Antworen dauern einige Tage und sehen aus wie maschinell erstellt. Briefpost, auch Rechnungen kommen aus Irland und brauchen z.Z. über drei Wochen bis zu mir. Voriges Jahr wurde mir per Brief angekündigt, den Dienst am 20. eines Monats einzustelllen wenn ich nicht bis 10. bezahlt habe. Der Brief kam am 28.! Eingestellt wurde zum Glück nicht, aber das sind alles keine Zustände.

      Was ich damit sagen will: es gibt bei jeder Art des Hosting Risiken die, wenn sie eintreten, richtig weh tun. Grund für den Rootserver ist (war?) ein höheres Maß an Unabhängigkeit, die Freiheit, alles machen zu können (das kann ich wohl dank Plesk vergessen) und technisches Interesse.

      So long...

      1. Hallo,

        Briefpost, auch Rechnungen kommen aus Irland und brauchen z.Z. über drei Wochen bis zu mir.

        das muss aber weder an Irland, noch an der Schlamperei des Absenders liegen - das schafft die Post auch bei gewöhnlichen Inlands-Briefsendungen. Ich habe auch schon mal eine Rechnung erhalten, deren Zahlungsfrist schon längst abgelaufen war. Das Schreiben lag erst noch 6 Tage im Haus beim Rechnungssteller rum (Differenz zwischen Datum des Schreibens und Datum des Poststempels) und war dann 18 Tage mit der Post unterwegs, bis es bei mir im Kasten landete. Korrekt adressiert, wohlgemerkt, es ist also nicht so, dass da bei der Post jemand hätte recherchieren müssen, wie die Adresse denn richtig lauten müsste.

        Aber Postlaufzeiten von 10 bis 14 Tagen für gewöhnliche Briefsendungen ... ja gut, das ist jetzt nicht die Regel, aber auch nicht wirklich eine Seltenheit. Ganz zu schweigen davon, dass ein zunehmender Anteil an Briefsendungen einfach im Nirwana verschwindet und nie ankommt. Als ich mich bei der Post mal über diesen Missstand beschwert habe, hab ich eine geschätzte Verlustquote von 5% unterstellt, und das hat zumindest niemand dementiert. Inoffiziell und hinter vorgehaltener Hand räumte man ein, man wisse zwar um das Problem, aber man könne nichts dagegen tun. Schönen Dank auch.

        Seitdem verschicke ich Wichtiges nur noch per e-Mail, und nur wenn irgendwelche Formvorschriften das verlangen, dann *zusätzlich* per Post.

        Voriges Jahr wurde mir per Brief angekündigt, den Dienst am 20. eines Monats einzustelllen wenn ich nicht bis 10. bezahlt habe. Der Brief kam am 28.! Eingestellt wurde zum Glück nicht, aber das sind alles keine Zustände.

        Einverstanden. Aber trotzdem solltest du dir in so einem Fall die Zeit nehmen, das Datum des Schreibens und das des Poststempels zu vergleichen (wenn die Post in Irland sowas noch praktiziert). So weißt du wenigstens, ob der Anbieter so lange getrödelt hat oder die Post.

        Grund für den Rootserver ist (war?) ein höheres Maß an Unabhängigkeit, die Freiheit, alles machen zu können (das kann ich wohl dank Plesk vergessen)

        Nö, wieso? Einen Root-Server zu haben heißt doch auch, selbst Herr im Haus zu sein. Also könntest du auch das System neu und "sauber" aufsetzen. Dazu solltest du aber erst recht weitreichende und fundierte Kenntnisse haben.

        Ciao,
         Martin

        --
        Die letzten Worte des Hardware-Bastlers:
        Das Netzkabel lass ich wegen der Erdung lieber dran.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. das muss aber weder an Irland, noch an der Schlamperei des Absenders liegen

          Das ist aber bei meinem Anbieter systemisch. Die Briefe brauchen alle so lange. Meist ist das nicht relevant da ich die Rechnungsbeträge abbuchen lasse. Aber es gibt hin und wieder Sonderfälle und -rechnungen. Da gibt es immer Streß. Egal, dort bin ich nicht gut aufgehoben.

          Nö, wieso? Einen Root-Server zu haben heißt doch auch, selbst Herr im Haus zu sein. Also könntest du auch das System neu und "sauber" aufsetzen. Dazu solltest du aber erst recht weitreichende und fundierte Kenntnisse haben.

          An diesen Kenntnissen arbeite ich gerade.

          Ralf

  4. Tach!

    Auf den Server ist seitens 1und1 Paralles Plesk Panel 10 installiert.

    Gibts übrigens auch ohne Plesk. Und es gibt andere Tools mit ähnlicher Zielstellung, wie ISPConfig. Und obendrein kann man auch an Plesk vorbei konfigurieren - eingeschränkt zwar, aber bei MySQL sollte das gehen.

    myDB1 und myDB2.
    Nun habe ich für die myDB1 den Benutzer "ich" angelegt. Geht auch.
    Jetzt braucht die myDB2 aber auch einen zugriffsberechtigten Benutzer.

    Frage 1: kann mir jemand sagen, wie ich den eben angelegten Benutzer "ich" auf myDB1 UND myDB2 loslassen kann? Ich finde in Plesk keine Möglichkeit dafür.

    Ob das wirklich nicht mit Plesk geht, weiß ich nicht. Du kannst aber den Benutzern hintenrum die Rechte geben. Öffne dazu den phpMyAdmin als Root. Da sollte es einen generellen Menüpunkt geben, nicht bei den Kunden/Domains. Gib dann da dem "ich" die Rechte für die andere Datenbank.

    Wenn ich für myDB2 auch einen Benutzer "ich" anlegen möchte, meckert er (verständlicher Weise): "Fehler: Verbindung zum Datenbankserver aufgrund eines Namenskonflikt fehlgeschlagen: User with requested name already exists "

    MySQL-Benutzer definieren sich aus dem Namen und einem Host. Zweimal "ich" auf "localhost" oder ähnlich geht nicht.

    Das heißt aber auch, dass es "ich" mehrfach geben kann, dann aber mit unterschiedlichen Host-Einträgen. Wobei es aber nichts bringt, zum Beispiel localhost und 127.0.0.1 als unterschiedlich zu betrachten.

    mysql --host=localhost --user=ich --password=zauberwort
    Wo ist meine myDB2? Wohl unsichtbar weil ich mich als "ich" angemeldet habe.

    Genau.

    Nun wollte ich den Stress umgehen indem ich in der MySQL Konsole einen neue Datenbank anlege:
    create database myDB3
    Da haut er mir:
    ERROR 1044 (42000): Access denied for user 'ich'@'%' to database 'myDB3'
    um die Ohren.

    Richtig, dein "ich" wird außer auf seiner Datenbank keine Rechte haben. Musst du den Root-Nutzer nehmen (wobei der auch anders heißen kann, wenn die Rechte passen).

    Frage 2: kann mir jemand sagen, wie ich "sauber" zwei Datenbanke auf den Server bekommen zwischen denen ich dann mit den MySQL-Befehl use hin- und herschalten kann.

    Mit oder ohne Plesk? Es sollte jedenfalls ohne "Hilfe" von Plesk gehen. Vielleicht findest du aber auch einen generellen Menüpunkt, mit dem man allgemeine Datenbanken und -nutzer anlegen kann.

    dedlfix.

    1. Öffne dazu den phpMyAdmin als Root. Da sollte es einen generellen Menüpunkt geben, nicht bei den Kunden/Domains.

      Es gibt in ("meinem") Plesk nur EINEN Link mit dem ich phpMyAdmin starten kann. Dieser wird erst anklickbar wenn man für die entsprechende BD einen Benutzer angelegt hat. Mit diesem Benutzer wird phpMyAdmin dann offenbar gestartet. Also phpMyAdmin von Plesk aus als root bzw. admin zu starten, schein nicht zu gehen. Es scheint der Philosophie von Plesk zu entsprechen, das gerade zu verhindern.

      Mit oder ohne Plesk?

      Wenn das Ergebnis "stabil" (also falls ohne Plesk erstellt nicht von selbigen wieder kaputt gemancht wird) ist, ist es mir egal "wie".

      Es sollte jedenfalls ohne "Hilfe" von Plesk gehen.

      Wie?

      Vielleicht findest du aber auch einen generellen Menüpunkt, mit dem man allgemeine Datenbanken und -nutzer anlegen kann.

      Leider nein.

      Ralf

      1. Wie ich schon sagte; Deinstalliere die Sch... Plesk zu behalten verursacht nur Mehraufwand.

        mysql --skip-grant-tables --skip-networking

        ... startet den Mysql-Server ohne Passwörter und ohne Netzwerk in der Konsole. Natürlich musst Du den Dienst vorher stoppen.

        Dann kannst Du Dich in einer anderen Konsole als "admin" einloggen und mit

        mysql > GRANT SUPER ON *.* TO 'root'@'localhost' IDENTIFIED BY 'neues Passwort';

        ... den root anlegen und ihm ein Passwort "verbraten".

        Fall es den Root schon gibt:

        mysql> UPDATE mysql.user SET PASSWORD=PASSWORD('neues Passwort') WHERE user="root";

        Danach den Mysql-Server stoppen (STRG-C üder Konsole/SSH-Sitzung einfach schließen) und den Dienst ganz normal neu starten.

        Willst Du wirklich wegen jedem Scheiß fragen? Ich sagst noch mal, das ist keine Gute Idee. Server lernen kann man auch mit der VM-Ware-Workstation. Für lau, abmahnungsfrei und ohne das Internet mit Spam oder Würmern zu verpesten.

        Andersherum, wenn Du Tage brauchst um sowas - vergleichbar einfaches - überhaupt zu Laufen zu bekommen ist Dir nicht geholfen. Und mit dem Schei...Plesk machst Du es anderen außerdem noch schwer Dir zu helfen.

        Jörg Reinholz