Wie ist eine WordPress Datenbank aufgebaut?

Wie ist eine WordPress Datenbank aufgebaut?

Struktur der WordPress-Datenbank

Die WordPress-Datenbank besteht aus 12 Tabellen. Jede Tabelle beginnt standardmäßig mit dem Präfix wp_; Dies kann jedoch während des Erstinstallations- und Konfigurationsprozesses geändert werden. Das Ändern des Präfixes wird im Allgemeinen aus WordPress-Sicherheitsgründen empfohlen , insbesondere wenn Sie beabsichtigen oder bereits mehrere Installationen auf demselben Server haben.

Die 12 Tabellen, aus denen sich die WordPress-Datenbank zusammensetzt, lauten wie folgt (in alphabetischer Reihenfolge aufgeführt):

Wir gehen nun jede Tabelle einzeln durch und schauen uns an, welche Daten sie speichert und wie sie intern aufgebaut ist.

Tabellenstruktur

Bevor wir uns mit den Details jeder Tabelle befassen, lohnt es sich, sich etwas Zeit zu nehmen, um sich anzusehen, wie sie strukturiert ist. Wenn Sie mit der Datenbankdokumentation nicht vertraut sind, bietet Ihnen dieser Abschnitt einen Crashkurs, den Sie im nächsten Abschnitt hilfreich finden werden. Wenn Sie andererseits mit SQL-Tabellen ziemlich vertraut sind, können Sie gerne weiter springen.

  • Feldname – Dies ist der Name des Feldes, den Sie in der SQL-Tabelle finden
  • Beschreibung – Wir haben dies eingefügt, um Ihnen zu helfen, zu verstehen, welche Art von Daten das Feld enthält
  • Typ – Dies ist der Datentyp, den das Feld akzeptiert. Zahlen in Klammern stellen die harte Grenze für die Anzahl der zulässigen Zeichen dar, die wir eingeben können
  • Null – es ist nicht klar, warum dieses Feld im Moment verwendet wird
  • Schlüssel – Dies sagt uns, ob der Eintrag ein Schlüssel ist oder nicht. Es gibt verschiedene Arten von Schlüsseln, darunter:
    • Primär
    • Primär (Teil)
    • Index
    • Index (Teil)
    • Einzigartig
    • Mehrere
  • Standard – Wenn der Eintrag einen Standardwert hat, wird der Standardwert hier aufgelistet
  • Notizen – Alle zusätzlichen Notizen

wp_commentmeta

Die Tabelle wp_commentsmeta speichert Metadaten zu Kommentaren. Kommentare werden separat in der Tabelle wp_comments gespeichert. Die Tabelle hat folgende Felder:

SpaltennameBeschreibungTypNullTasteStandard
meta_idDies ist eine eindeutige ID für den Eintrag. Es erhöht sich automatischbigint(20) ohne VorzeichenPrimär
Kommentar_IDDies ist die ID des Kommentars, auf den sich die Metadaten beziehen, wie sie in der Tabelle wp_comments zu finden istbigint(20) ohne VorzeichenIndex0
meta_keyDies identifiziert die Art der Metadaten, für die der Eintrag bestimmt istvarchar(255)jaIndexNull
meta_wertDies sind die eigentlichen MetadatenLangtextjaNull

wp_comments

Die wp_comments-Tabelle speichert Beitragskommentare. Metadaten zu Kommentaren werden in der Tabelle wp_commentmeta gespeichert. Die Tabelle hat folgende Spalten:

SpaltennameBeschreibungTypNullTasteStandard
Kommentar_IDDies ist eine eindeutige ID für den Eintrag. Es erhöht sich automatischgroß(20)PrimärN / A
comment_post_IDDies ist die ID des Beitrags, für den der Kommentar geschrieben wurde, wie in der Tabelle wp_posts zu findengroß(20)Index0
Kommentar_AutorDies ist der Name des Autors, der den Kommentar geschrieben hatkleiner Text
Kommentar_Autor_E-MailDies ist die E-Mail-Adresse des Autors, der den Kommentar geschrieben hatvarchar(100)Index
comment_author_urlDies ist die Website-URL des Autors, der den Kommentar geschrieben hatvarchar(200)
Kommentar_Autor_IPDies ist die IP-Adresse des Autors, der den Kommentar geschrieben hatvarchar(100)
Kommentar_DatumDies ist das Datum und die Uhrzeit, an dem der Kommentar gepostet wurdeTerminzeit0000-00-00 00:00:00
comment_date_gmtDies ist das GMT (Greenwich Meridian Time)-Datum und die Zeit, zu der der Kommentar gepostet wurdeTerminzeitIndex und Index Pt20000-00-00 00:00:00
Kommentar_InhaltDies ist der eigentliche hinterlassene KommentarText
kommentar_karmaDies steht Plug-ins für die Verwaltung von Kommentaren zur Verfügungint(11)
Kommentar_genehmigtDies zeigt an, ob der Kommentar genehmigt wurde oder nichtvarchar(20)Index Teil 10
Kommentar_AgentVon hier aus wurde der Kommentar gepostetvarchar(255)
KommentartypDies ist die Art des hinterlassenen Kommentarsvarchar(20)
Kommentar_ElternWenn der Kommentar eine Antwort ist, gibt dieses Feld den übergeordneten Kommentar anbigint(20) ohne VorzeichenIndex0
BenutzeridentifikationWenn ein kommentierender Benutzer registriert ist, ist dies seine ID, wie sie in wp_users verfügbar istbigint(20) ohne Vorzeichen0

Diese Tabelle wurde ursprünglich erstellt, um Blogrolls zu unterstützen, eine Funktion, die ab WordPress 3.5 eingestellt wurde. Es wird aus Gründen der Abwärtskompatibilität beibehalten, aber nicht mehr verwendet. Die Tabelle hat folgende Spalten:

SpaltennameBeschreibungTypNullTasteStandard
link_idDies ist eine eindeutige ID für den Eintrag. Erhöht sich automatischbigint (20) ohne VorzeichenPrimär
URL verknüpfenDies ist die URL des Linksvarchar(255)
link_name
Dies ist der Name des Linksvarchar(255)
Link_BildDies ist die URL des linkbezogenen Bildesvarchar(255)
LinkzielDies ist der Zielrahmen des Linksvarchar(25)
link_beschreibungDies ist eine Beschreibung des Linksvarchar(255)
link_sichtbarDadurch erfahren wir, ob der Link öffentlich angezeigt wird oder nichtvarchar(20)IndexY
link_besitzerDies ist die Benutzer-ID des Benutzers, der den Link erstellt hat, wie in wp_users verfügbarbigint (20) ohne Vorzeichen1
link_bewertungDies ist die Bewertung des Linksint(11)0
link_aktualisiertDies ist das Datum und die Uhrzeit, zu der der Link aktualisiert wurdeTerminzeit0000-00-00 00:00:00
link_relDies ist die Beziehung des Linksvarchar(255)
link_notesDies sind Hinweise zum LinkMitteltext
link_rssDies ist die RSS-Feed-Adresse des Linksvarchar(255)

wp_options

Die über die Verwaltungskonsole konfigurierten WordPress-Einstellungen werden hier gespeichert. Plugins und Themes speichern hier normalerweise auch Einstellungsinformationen, wie im folgenden Screenshot dargestellt. Hier können wir sehen, dass die Scan-Häufigkeitsoption unseres eigenen Website-Dateiänderungsmonitors auf täglich eingestellt ist.

Die Tabelle hat folgende Spalten:

SpaltennameBeschreibungTypNullTasteStandard
option_idDies ist eine eindeutige ID für den Eintrag. Erhöht sich automatisch.bigint(20) ohne VorzeichenPrimär
OptionsnameDies ist der Name der Option/Einstellungvarchar(64)Einzigartig
OptionswertDies ist der Wert der zu speichernden EinstellungLangtext
automatisch ladenDiese Einstellung teilt wp_load_alloptions() mit, ob die Option automatisch geladen werden soll oder nichtvarchar(20)Indexja

wp_postmeta

Posts-Metadaten, die jeden Post begleiten, werden hier gespeichert. Metadaten können angehängte Dateien, Miniaturansichten, gewünschte Post-Slugs und andere solche Informationen enthalten. Die Tabelle hat folgende Spalten:

SpaltennameBeschreibungTypNullTasteStandard
meta_idDies ist eine eindeutige ID für den Eintrag. Erhöht sich automatischbigint(20) ohne VorzeichenPrimär

Feldname post_id
Dies ist die ID des Beitrags, mit dem die Metadaten verknüpft sind, wie in wp_posts verfügbarbigint(20) ohne VorzeichenIndex0
meta_keyDies ist ein Indexschlüssel, der die Metadaten identifiziert, da jeder Beitrag mehr als ein Metadatum haben kannvarchar(255)jaIndexNull
meta_wertDies sind die eigentlichen MetadatenLangtextjaNull

wp_posts

Die wp_posts-Tabelle ist eine wichtige und enthält den Kern der WordPress-Daten. Es enthält die eigentlichen Beiträge, Seiten sowie Navigationsmenüelemente, wie im folgenden Beispiel zu sehen ist, das die Standard-Beispielseite zeigt, die in jeder WordPress-Neuinstallation enthalten ist.

Die Tabelle hat folgende Spalten:

SpaltennameBeschreibungTypNullTasteStandard
ICH WÜRDEDies ist eine eindeutige ID für den Eintrag. Erhöht sich automatischbigint(20) ohne VorzeichenPrimär und Index (Teil 4)
post_autorDies ist die ID des Autors, der den Beitrag geschrieben hat, wie in wp_users verfügbarbigint(20) ohne VorzeichenIndex0
nach DatumDies ist das Datum und die Uhrzeit, zu der der Beitrag erstellt wurdeTerminzeitIndex (Teil 3)0000-00-00 00:00:00
post_date_gmtDies ist das GMT (Greenwich Mean Time)-Datum und die Uhrzeit, zu der der Beitrag erstellt wurdeTerminzeit0000-00-00 00:00:00
post_inhaltDies ist der eigentliche Inhalt des BeitragsLangtext
post_titelDies ist der Titel des BeitragsText
post_auszugDies ist ein Auszug aus dem BeitragText
PoststatusDies ist der Status des Beitragsvarchar(20)Index (Teil 2)veröffentlichen
KommentarstatusDies sagt uns, ob Kommentare zu dem Beitrag erlaubt sind oder nichtvarchar(20)offen
ping_statusDies sagt uns, ob Ping und Trackbacks erlaubt sind oder nichtvarchar(20)offen
post_passwortBeiträge können mit einem beliebigen hier hinterlegten Passwort passwortgeschützt werdenvarchar(20)
AnschriftnameDies ist der URL-Slug des Beitragstitelsvarchar(200)Index
to_pingDies ist eine Liste von URLs, an die WordPress Pingbacks senden sollte, wenn der Beitrag aktualisiert wirdText
gepingtDies ist eine Liste von URLs, die WordPress bei der Aktualisierung gepingt hatText
post_modifiedDies ist das Datum und die Uhrzeit der letzten Änderung des BeitragsTerminzeit0000-00-00 00:00:00
post_modified_gmtDies ist das GMT-Datum und die Uhrzeit der letzten Änderung des BeitragsTerminzeit0000-00-00 00:00:00
post_content_gefiltertDies ist eine gefilterte Version von post_content, die normalerweise von Plugins für Caching-Zwecke verwendet wirdLangtext
post_parentWenn es sich bei dem Beitrag um eine Überarbeitung oder einen Anhang handelt, entsteht dadurch die Eltern-Kind-Beziehungbigint(20) ohne VorzeichenIndex0
FührerDies ist der Global Unique Identifier (GUID) des Beitragsvarchar(255)
menu_orderDies ist die Bestellnummer, in der Seiten und Nicht-Post-Elemente erscheinenint(11)0
Post-TypDies identifiziert den Inhaltstypvarchar(20)Index (Teil 1)Post
post_mime_typeDies ist der Mime-Typ von Post-Anhängenvarchar(100)
Anzahl KommentareDies ist die Gesamtzahl der Kommentare, Trackbacks und Pingbacksgroß(20)0

wp_terms

Begriffe sind Klassifizierungsobjekte, die zur Klassifizierung von Objekten in WordPress verwendet werden. Beispielsweise sind Kategorien und Tags, die in Beiträgen verwendet werden, Arten von Begriffen. Diese Tabelle enthält alle verschiedenen Arten von Begriffen, die in WordPress verwendet werden. Die Tabelle hat folgende Spalten:

SpaltennameBeschreibungTypNullTasteStandard
term_idDies ist eine eindeutige ID für den Eintrag. Erhöht sich automatischbigint(20) ohne VorzeichenPrimär
NameDies ist der Name des Begriffsvarchar(200)Index
SchneckeDas ist der Schnickschnack des Begriffsvarchar(200)Mehrere
Begriff_GruppeDies ist ein Alias, den Themes und Plugins verwenden können, um Begriffe miteinander zu gruppierengroß(10)0

wp_termmeta

Diese Tabelle speichert die Metadaten, die den in wp_terms gefundenen Begriffen zugeordnet sind. Die Tabelle hat folgende Spalten:

SpaltennameBeschreibungTypNullTasteStandard
meta_idDies ist eine eindeutige ID für den Eintrag. Erhöht sich automatischbigint(20) ohne VorzeichenPrimär
term_idDies ist die ID des Begriffs, auf den sich die Metadaten beziehen, wie in wp_terms verfügbarbigint(20) ohne VorzeichenIndex0
meta_keyDies ist ein Identifikationsschlüssel für den Begriff Metadatenvarchar(255)jaIndexNULL
meta_wertDies sind die eigentlichen MetadatenLangtextjaNULL

wp_term_relationships

Diese Tabelle verwaltet Beziehungen zwischen Beiträgen und Taxonomien. Die Tabelle hat folgende Spalten:

SpaltennameBeschreibungTypNullTasteStandard
Objekt IdentifikationDies ist die ID des Beitrags, wie sie in wp_posts verfügbar istbigint(20) ohne VorzeichenGrundschule (Teil 1)0
term_taxonomy_idDies ist die ID der Begriffstaxonomie, wie sie in wp_term_taxonomy verfügbar istbigint(20) ohne VorzeichenPrimär (Teil 2) und Index0
Begriff_BestellungDies ist die Reihenfolge des Begriffsint(11)0

wp_term_taxonomy

Diese Tabelle enthält Begriffstaxonomien und als solche einen Kontext, in dem sie verwendet werden können. Beispielsweise können wir den Begriff Datenbank als Beitragskategorie und als Produktkategorie verwenden (vorausgesetzt, wir verkaufen Datenbankdienste). In diesem Fall sind Beitragskategorie und Produktkategorie Begriffstaxonomien. Die Tabelle hat folgende Spalten:

SpaltennameBeschreibungTypNullTasteStandard
term_taxonomy_idDies ist eine eindeutige ID für den Eintrag. Erhöht sich automatischbigint(20) ohne VorzeichenPrimär
term_idDies ist die ID des Begriffs, wie sie in wp_terms verfügbar istbigint(20) ohne VorzeichenEinzigartig (Teil 1)0
TaxonomieDies ist die Schnecke der Taxonomievarchar(32)Unique (Teil 2) und Index
BezeichnungDies ist eine Beschreibung der TaxonomieLangtext
ElternteilDies ist die ID der übergeordneten Taxonomie, wenn die Taxonomie eine untergeordnete Taxonomie istbigint(20) ohne Vorzeichen0
zählenDies ist die Anzahl der Objekte, die dieser Taxonomie zugeordnet sindgroß(20)0

wp_usermeta

Diese Tabelle speichert zusätzliche Benutzerdaten, die nicht in der Tabelle wp_users zu finden sind. WordPress selbst sowie Plugins oder Themes können diese Tabelle verwenden.

Ein Beispiel für Benutzermetadaten ist der Spitzname des Benutzers. Obwohl WordPress dieses Feld standardmäßig enthält, ist es immer noch Teil der Metadaten, wie unten gezeigt. Ein weiteres Beispiel ist WooCommerce; ein E-Commerce-Plugin, das diese Tabelle verwendet, um Kundeninformationen wie die Lieferadresse zu speichern.

Die Tabelle hat folgende Spalten:

SpaltennameBeschreibungTypNullTasteStandard
umeta_idDies ist eine eindeutige ID für den Eintrag. Erhöht sich automatischbigint(20) ohne VorzeichenPrimär
BenutzeridentifikationDies ist die ID des Benutzers, auf die sich die Informationen beziehen, wie sie in wp_users zu finden sindbigint(20) ohne VorzeichenIndex0
meta_keyDies ist eine Schlüsselkennung für den Metaeintragvarchar(255)jaIndexNull
meta_wertDies sind die eigentlichen MetadatenLangtextjaNull

wp_users

Die Informationen der WordPress-Benutzer werden hier gespeichert. Da Benutzer ein wesentlicher Bestandteil des WordPress-Ökosystems sind, ist diese Tabelle von wesentlicher Bedeutung.

Die Tabelle speichert nur die Kerninformationen für jeden Benutzer, wie im folgenden Beispiel gezeigt. Alle anderen Informationen werden in der Tabelle wp_usermeta gespeichert.

Die Tabelle hat folgende Spalten:

SpaltennameBeschreibungTypNullTasteStandard
ICH WÜRDEDies ist eine eindeutige ID für den Eintrag. Erhöht sich automatischbigint(20) ohne VorzeichenPrimär
Benutzer-AnmeldungDies ist der Benutzername des Benutzersvarchar(60)Index
BenutzerpassDies ist das Passwort des Benutzersvarchar(64)
user_nicenameDies ist der Anzeigename des Benutzersvarchar(50)Index
Benutzer EmailDies ist die E-Mail-Adresse des Benutzersvarchar(100)
user_urlDies ist die URL des Benutzers (z. B. Website)varchar(100)
Benutzer_registriertDies ist das Datum und die Uhrzeit, zu der der Benutzer registriert wurdeTerminzeit0000-00-00 00:00:00
user_activation_keyDies ist der Aktivierungsschlüssel des Benutzers, der zum Zurücksetzen seines Passworts verwendet wirdvarchar(60)
BenutzerstatusDies wird ab WordPress 3.0 nicht mehr verwendet, sondern verwendet, um anzuzeigen, ob der Benutzer Spam warint(11)0
AnzeigenameDies ist der öffentliche Anzeigename des Benutzersvarchar(250)

Machen Sie sich mit der WordPress-Datenbank vertraut

Datenbanken können für Uneingeweihte ziemlich einschüchternd sein – schließlich enthalten sie alle Daten, die für das Funktionieren von WordPress erforderlich sind. Es stimmt zwar, dass ein Fehltritt hier die Seite zum Absturz bringen kann, aber lassen Sie sich davon nicht einschüchtern. Schließlich kann die Kenntnis der WordPress-Datenbank Ihre Bemühungen zur Fehlerbehebung erheblich erleichtern, falls dies erforderlich sein sollte.

Das Einrichten einer Test- oder Staging-Umgebung kann Ihnen einen sicheren Raum bieten, in dem Sie frei experimentieren können, ohne das Risiko einzugehen, Ihre Website offline zu schalten. Sie können sogar kostenlos eine XAMPP-Staging-Umgebung auf Ihrem Computer einrichten – die Ihnen alles bietet, was Sie brauchen, um die WordPress-Datenbank zu beherrschen.

Der Beitrag Der ultimative Leitfaden zur WordPress-Datenbank erschien zuerst auf WP White Security .

*** Dies ist ein syndizierter Blog des Security Bloggers Network von WP White Security , der von Joel Farrugia verfasst wurde . Lesen Sie den Originalbeitrag unter: https://www.wpwhitesecurity.com/ultimate-guide-wordpress-database/