Installation: Can't Create Table

  • Hi,

    Bei der Installation von 2.0.3 (erweitert/deutsch) auf WinXP und Apache kommt in Schritt 2 für jede MySQL-Tabelle nur so eine Fehlermeldung:

    "WordPress database error: [Can't create table '.\wordpress\wp_categories.frm' (errno: 121)]
    CREATE TABLE wp_categories ( cat_ID bigint(20) NOT NULL auto_increment, cat_name varchar(55) NOT NULL default '', category_nicename varchar(200) NOT NULL default '', category_description longtext NOT NULL, category_parent bigint(20) NOT NULL default '0', category_count bigint(20) NOT NULL default '0', PRIMARY KEY (cat_ID), KEY category_nicename (category_nicename) )"

    Das sieht also auf den ersten Blick wie ein Zugriffsfehler aus. ABER WARUM???

    Mit PphMyAdmin an gleicher Stelle eine neue Datenbank zu erstellen, funktioniert dagegen tadellos. Ebenso das Erstellen von Unterverzeichnissen (in C:\MySQL\data\...) mit dem Windows Explorer sowie das Erstellen von Tables mit PhpMyAdmin. Das alles geht.

    Außerdem laufen auf diesem Rechner bzw. auf diesem Apache-Server (localhost) bereits seit Monaten sieben andere PHP/MySQL-Anwendungen mit der gleichen Config-Eimstellung (User & Password, natürlich andere Datenbank) tadellos, darunter Xoops und Website Baker sowie eine recht umfangreiche selbstgeschriebene Auftrags-, Garantie- und Lagerverwaltung. ALle diese Anwendungen können seit je tadellos mit MySQL arbeiten.

    Und auch PhpMyAdmin kann seit je problemlos auf _alle_ bestehenden Datenbanken zugreifen. Nur das Install-Programm von WordPress schafft's halt nicht.

    Was könnte da die Ursache sein? Hat jemand einen Tipp dazu?

    Ich hab diese Seite gefunden, aber mein Englisch ist zu schwach:
    http://lists.mysql.org/mysql/164233 - Hilft das?

    Vielen Dank im Voraus für jeden Hinweis!

    A.H.

    Einmal editiert, zuletzt von Hochhaltinger (14. Juli 2006 um 15:32)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • an den Berechtigungen liegt es nicht, da würde
    errno=13 - Permission denied
    gemeldet werden.

    errno 121 ist der Fehler eines Doppelten Fremdschlüssels.
    Damit existiert z.B. der Tabellenname schon in der internen InnoDB Datenverzeichnisstruktur.
    Ein anderer Grund wärem, dass due .frm Datei für die Tabelle gelöscht wurde.

    Aber ich glaube es ist einfach ersteres.
    Hab es mir gerade nochmal durchgelesen, vielleicht erkläre ich es noch an einem Beispiel:

    In der Tabelle die du gerade erstellst, ist ein Schlüssel, der den selben Namen trägt wie eine schon bestehende Tabelle. Oder aber du erstellt eine Tabelle, die den selben Namen trägt wie ein anderer Fremdschlüssel in deiner Datenbank.


    Als Problemlösung würde ich eine neue Datenbank anlegen und dort die Wordpressinstallation ausprobieren.
    Der Fehler liegt eindeutig an deiner Datenbank und nicht an Wordpress.

    PS:
    bei namen muss man sehr aufpassen, da nicht alle MySQL Datenbanktypen case-sensitiv sind (zwischen Groß- und Kleinschreibung unterscheiden).

    PPS:
    gerade nochmal den MySQL Fehler angesehen.
    Der MySQL-Befehl ist falsch!
    wp_categories.frm ist kein Gültiger Tabellenname. sollte wp_categories heißen.

    => vielleicht liegt es auch an deiner XAMP Installation.
    php.ini
    etc.magic_quotes_runtime = On
    On durch Off ersetzen.

  • Problem gelöst!

    Danke für den Tipp, hat mir geholfen.

    Für alle, die es wissen wollen, was da wirklich passiert ist, eine einfache Erklärung (für Dummies wie mich):

    Ich hatte voriges Jahr kurz mit dem alten Wordpress (1.5) auf dem eigenen PC herumprobiert, bevor ich mit dem WP-Blog dann online ging. Danach hab ich diese Datenbank auf die einfachste Weise "entsorgt": Ich habe das Verzeichnis "wordpress" in MySQL/data/ einfach gelöscht und glaubte, damit wäre alles erledigt.

    Aber irgendwo hat MySQL die damals benutzten Indexe auch weiterhin gespeichert und meint jetzt, die würden auch jetzt noch für das alte, längst obsolete WordPress 1.5 benützt. Und ich weiß ad hoc keine Möglichkeit, diese Index-Namen "auf die schnelle" wieder freizugeben.


    Meine Lösung war dann, einfach das MySQL-Verzeichnis umzubenennen: konkret von C:\MySQL\data\wordpress\ nach C:\MySQL\data\wp\ (kann auch irgendwie anders sein, z.B. wäre auch bei "wordpres" noch alles okay, bloß nicht mehr "wordpress"!)

    Und natürlich im File "wp-config.php" für "Datenbank" statt "wordpress" ebenfalls "wp" (bzw. den gewählten neuen Verzeichnis-Namen) eintragen - fertig!


    Übrigens: Wie schmeisse ich denn eine MySQL-Datenbank "richtig" hinaus, damit keine derartigen Spuren bleiben? Geht das nur in MySQL mit "Drop Table"? Oder wie noch?


    Auf jeden Fall nochmals vielen Dank für den Tipp.

    A. H.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!