Kann im MySQL-Cluster keine Tabellen anlegen

Dieses Thema im Forum "SQL und Datenbanken" wurde erstellt von theton, 20.09.2005.

  1. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Ich habe gerade ein kleines MySQL-Cluster (2 Speicherknoten, 4 API-Knoten, 1 Management-Konsole) aufgesetzt. Die einzelnen Nodes scheinen problemlos zu laufen, zumindest, wenn man der Management-Konsole glauben kann. Diese zeigt bei 'show' folgendes an:

    Code:
    ndb_mgm> show
    Cluster Configuration
    ---------------------
    [ndbd(NDB)]     2 node(s)
    id=2    @192.168.1.4  (Version: 4.1.14, starting, Nodegroup: 0, Master)
    id=3    @123.123.123.123  (Version: 4.1.14, starting, Nodegroup: 0, Master)
    
    [ndb_mgmd(MGM)] 1 node(s)
    id=1    @213.160.80.35  (Version: 4.1.14)
    
    [mysqld(API)]   4 node(s)
    id=4 (not connected, accepting connect from any host)
    id=5 (not connected, accepting connect from any host)
    id=6 (not connected, accepting connect from any host)
    id=7 (not connected, accepting connect from any host)
    
    Die IP 123.123.123.123 habe ich hier geaendert, sie verweist normalerweise auf einen Server ausserhalb unseres LANs.
    Das Problem ist nur, dass ich auf den Speicherknoten keine Tabellen anlegen kann. Wenn ich das versuche, wird mir gesagt, dass die Tabelle bereits existiert, obwohl die Datenbank, mit der ich arbeite, komplett leer ist. Das ganze sieht dann wie folgt aus:

    Code:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 2 to server version: 4.1.14-max
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> \u foo
    Database changed
    mysql> show tables;
    Empty set, 1 warning (0.00 sec)
    
    mysql> create table tester (i int) engine=ndbcluster;
    ERROR 1050 (42S01): Table 'tester' already exists
    mysql> 
    
    Kann sich irgendwer erklaeren, wie sowas moeglich ist? Oder hatte vielleicht schon jemand von euch ein aehnliches Problem und eine passende Loesung? Jeder noch so kleine Hinweis kann helfen!
     
  2. Anzeige

    Schau dir mal diesen Ratgeber an. Viele Antworten inkl. passender Shell-Befehle!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    So, ich habe das Cluster jetzt soweit, dass erkannt wird, ob eine Tabelle existiert oder nicht. Trotzdem kann ich immer noch keine Tabellen anlegen. Anlegen von Datenbanken funktioniert problemlos. Wenn ich eine neue Tabelle in einer DB anlegen will, passiert aber folgendes:

    Code:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 1 to server version: 4.1.9-max
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> \u foo
    Database changed
    mysql> create table test1 (i int) engine=ndbcluster;
    ERROR 1005 (HY000): Can't create table './foo/test1.frm' (errno: 4009)
    
    show warnings gibt folgendes aus:

    Code:
    +-------+------+-------------------------------------------+
    | Level | Code | Message                                   |
    +-------+------+-------------------------------------------+
    | Error | 1296 | Got error 4009 'Cluster Failure' from NDB |
    | Error | 1296 | Got error 4009 'Cluster Failure' from NDB |
    +-------+------+-------------------------------------------+
    2 rows in set (0.01 sec)
    
    Hier mal die Konfigurationen, die ich verwende (natuerlich mit gaenderten IP-Adressen). Auf den Speicherknoten existiert die /etc/my.cnf, die folgendermassen aussieht:

    Code:
    [mysqld]
    ndbcluster
    default-table-type=NDBCLUSTER
    ndb-connectstring='host=192.168.1.1' # Management Console
    [mysql_cluster]
    ndb-connectstring='host=192.168.1.1' # Management Console
    
    Die config.ini der Management-Konsole sieht wie folgt aus:

    Code:
    [NDBD DEFAULT]
    NoOfReplicas=2
    
    [MYSQLD DEFAULT]
    [NDB_MGMD DEFAULT]
    [TCP DEFAULT]
    
    # Management Server
    [NDB_MGMD]
    HostName=123.123.123.121
    
    # Storage Nodes
    [NDBD]
    HostName=192.168.1.4
    DataDir=/var/lib/mysql-cluster
    [NDBD]
    HostName=123.123.123.123
    DataDir=/var/lib/mysql-cluster
    
    # Setup node IDs for MySQL API servers (clients of the cluster)
    [MYSQLD]
    [MYSQLD]
    [MYSQLD]
    [MYSQLD]
    
    Auf allen Knoten benutze ich MySQL-Max-4.1.9 (bei Version 4.1.14 bekam ich die seltsamen Fehler, dass nicht vorhandene Tabellen schon existieren) unnd zwar die Binary-Version von mysql.com.
    Wo liegt hier das Problem? Habe ich irgendwas in einer Config vergessen?
     
Thema:

Kann im MySQL-Cluster keine Tabellen anlegen

Die Seite wird geladen...

Kann im MySQL-Cluster keine Tabellen anlegen - Ähnliche Themen

  1. Wie kann ich das RAM löschen?

    Wie kann ich das RAM löschen?: Wie kann ich das RAM löschen? Danke im Vorraus
  2. Nicht erkannte Zeichen nach Update

    Nicht erkannte Zeichen nach Update: Hi, nachdem ich mein Kali Linux geupdated habe, ist mir aufgefallen dass viele Zeichen auf verschiedenen Nutzeroberflächen nur fehlerhaft...
  3. Bq Aquaris M10 Tablet mit Ubuntu Touch kann vorbestellt werden

    Bq Aquaris M10 Tablet mit Ubuntu Touch kann vorbestellt werden: Seit dem gestrigen Ostermontag kann das erste Tablet mit Ubuntu Touch und Konvergenz vorbestellt werden. Weiterlesen...
  4. Ethernet wird nicht erkannt

    Ethernet wird nicht erkannt: Ich habe das Problem, dass die Netzwerk karte von keinem System mehr geladen wird. Vor zwei Tagen habe ich das Netzteil vom Pc, das etwa eine...
  5. Kann meine Bandbreite nicht nutzen

    Kann meine Bandbreite nicht nutzen: Ich habe kürzlich mein Telekom-Anschluß von 2 auf 50 (Glasfaser) MBit/sec umgestellt. Mit dem Ziel Livestreams sehen zu können. Aber jetzt sehe...