O guia definitivo para o banco de dados WordPress

Publicados: 2022-02-09

Em sua essência, o WordPress é um CMS (Sistema de Gerenciamento de Conteúdo). Para gerenciar o conteúdo, ele precisa ser capaz de armazená-lo. O WordPress faz isso por meio de pastas e arquivos e um banco de dados. Anteriormente, cobrimos o sistema de arquivos do WordPress em um artigo separado; vamos nos concentrar no banco de dados desta vez.

Neste artigo, veremos o banco de dados do WordPress, sua estrutura e como cada campo funciona. Também incluímos uma breve lição de história sobre MySQL. Dica – O My no MySQL não significa que é seu; Meu é uma pessoa real, mas quem? - Continue lendo para descobrir.

Índice

  • Uma (muito) breve história do SQL, MySQL e MariaDB
  • Como acessar o banco de dados do WordPress
    • phpMyAdmin
    • Plesk/cPanel
    • Cliente SSH/MySQL/MariaDB
    • Plug-ins do WordPress
  • Estrutura de banco de dados WordPress
    • Estrutura da tabela
      • wp_commentmeta
      • wp_comments
      • wp_links
      • wp_options
      • wp_postmeta
      • wp_posts
      • wp_terms
      • wp_termmeta
      • wp_term_relationships
      • wp_term_taxonomia
      • wp_usermeta
      • wp_users

Uma (muito) breve história do SQL, MySQL e MariaDB

O WordPress usa um RDBMS chamado MySQL. Tecnicamente, é baseado no MySQL, pois, cada vez mais, o MariaDB está sendo usado em vez do MySQL. SQL significa Structured Query Language e é a linguagem que usamos para interagir com o banco de dados – e não com o próprio banco de dados.

O MySQL desempenhou um papel significativo no crescimento da Internet como a conhecemos hoje. Introduzido pela primeira vez em 1995 como uma alternativa aos produtos oferecidos pela Microsoft e Oracle, rapidamente se tornou o padrão RDBMS de ouro de escolha.

A história do MySQL é colorida, tendo sido adquirida pela Sun Microsystems e depois pela Oracle (a Oracle adquiriu a Sun Microsystems e MySQL com ela).

Em resposta à aquisição do MySQL pela Oracle, Monty Widenius, o criador original do MySQL, transformou o MySQL em MariaDB, que ele nomeou em homenagem a sua filha, Maria. (Curiosamente, o MySQL tem o nome da outra filha de Monty – My). Com o tempo, surgiram diferenças entre MariaDB e MySQL; no entanto, os dois permanecem intercambiáveis ​​em muitos cenários, incluindo bancos de dados WordPress.

De fato, em muitos casos, o MariaDB é considerado um substituto imediato do MySQL. Isso significa que você pode desinstalar o MySQL, instalar o MariaDB e continuar trabalhando como se nada tivesse mudado. Dito isso, o MariaDB pode oferecer melhorias de desempenho em algumas situações e também oferece maior compatibilidade com, por exemplo, mecanismos de armazenamento.

É importante notar que o MySQL permanece gratuito e é lançado sob um sistema de licença dupla. Em muitos casos, MySQL é usado para se referir a bancos de dados MySQL ou MariaDB.

Como acessar o banco de dados do WordPress

Existem algumas opções diferentes disponíveis quando se trata de se conectar ao banco de dados do WordPress. O método ou métodos disponíveis para você dependerá em grande parte do tipo de hospedagem WordPress que você usa. Se você não tiver certeza de como seu servidor está configurado, fale com seu provedor de hospedagem ou administrador de sistemas. De qualquer forma, as opções podem incluir;

phpMyAdmin

phpMyAdmin é uma ferramenta favorita, pois nos permite conectar ao banco de dados através de uma GUI baseada na web. O phpMyAdmin precisa ser instalado no mesmo servidor que hospeda o banco de dados, com muitos provedores de hospedagem oferecendo o phpMyAdmin imediatamente.

Plesk/cPanel

Plesk e cPanel são duas plataformas de painel de controle que atendem a uma função semelhante – uma interface de usuário que facilita o gerenciamento do servidor. Claro, existem certas diferenças importantes, incluindo as tecnologias e os sistemas operacionais que eles suportam. De qualquer forma, eles também nos permitem acessar bancos de dados, embora de maneiras ligeiramente diferentes.

Cliente SSH/MySQL/mariaDB

O SSH é uma maneira menos amigável de se conectar a um banco de dados, oferecendo uma CLI (Command Line Interface) em vez de uma GUI. Por isso, é recomendado um entendimento mais profundo dos comandos SQL. O SSH precisa ser configurado explicitamente no mesmo servidor que hospeda o banco de dados antes de se conectar a ele.

Plug-ins

Você também pode usar plugins do WordPress para acessar seu banco de dados do WordPress. Usando um plugin, você pode acessar o banco de dados diretamente do seu console de administração do WordPress. Aqui, você precisará escolher um plug-in de um fornecedor respeitável e seguir todas as práticas recomendadas aplicáveis ​​para manter seus dados seguros. Se você não tiver certeza de qual plugin usar, leia nosso guia sobre como escolher os melhores plugins para o seu site WordPress.

Estrutura de banco de dados WordPress

O banco de dados do WordPress é composto por 12 tabelas. Cada tabela, por padrão, começa com o prefixo wp_; no entanto, isso pode ser alterado durante o processo inicial de instalação e configuração. Alterar o prefixo geralmente é recomendado por motivos de segurança do WordPress, especialmente se você pretende ou já possui várias instalações no mesmo servidor.

As 12 tabelas que compõem o banco de dados do WordPress são as seguintes (listadas em ordem alfabética):

  • wp_commentmeta
  • wp_comments
  • wp_links
  • wp_options
  • wp_postmeta
  • wp_posts
  • wp_terms
  • wp_termmeta
  • wp_term_relationships
  • wp_term_taxonomia
  • wp_usermeta
  • wp_users

Passaremos agora por cada tabela individualmente e veremos quais dados ela armazena e sua estrutura interna.

Estrutura da tabela

Antes de entrarmos nos detalhes de cada tabela, vale a pena dedicar algum tempo para ver como ela está estruturada. Se você não estiver familiarizado com a documentação do banco de dados, esta seção lhe dará um curso intensivo que você achará útil na próxima seção. Por outro lado, se você estiver bastante familiarizado com tabelas SQL, sinta-se à vontade para avançar.

  • Nome do campo – Este é o nome do campo, que você encontrará na tabela SQL
  • Descrição – Colocamos isso para ajudá-lo a entender que tipo de dados o campo contém
  • Tipo – Este é o tipo de dados que o campo aceita. Os números entre parênteses representam o limite rígido do número de caracteres aceitáveis ​​que podemos inserir
  • Nulo – não está claro por que este campo é usado no momento
  • Chave – Isso nos diz se a entrada é uma chave ou não. Existem diferentes tipos de chaves, incluindo:
    • Primário
    • Primário (Parte)
    • Índice
    • Índice (Parte)
    • Exclusivo
    • Múltiplo
  • Padrão – Se a entrada tiver um valor padrão, o valor padrão será listado aqui
  • Notas – Quaisquer notas adicionais

wp_commentmeta

A tabela wp_commentsmeta armazena metadados relacionados a comentários. Os comentários são armazenados separadamente na tabela wp_comments. A tabela possui os seguintes campos:

Nome da coluna Descrição Tipo Nulo Chave Predefinição
meta_id Este é um ID exclusivo para a entrada. Ele aumenta automaticamente bigint(20)não assinado Primário
comment_id Este é o ID do comentário ao qual os metadados se relacionam conforme encontrado na tabela wp_comments bigint(20)não assinado Índice 0
meta_key Isso identifica o tipo de metadados para o qual a entrada se destina varchar(255) Sim Índice Nulo
meta_value Estes são os metadados reais texto longo Sim Nulo

wp_comments

A tabela wp_comments armazena comentários de postagem. Os metadados relacionados aos comentários são armazenados na tabela wp_commentmeta. A tabela tem as seguintes colunas:

Nome da coluna Descrição Tipo Nulo Chave Predefinição
comment_ID Este é um ID exclusivo para a entrada. Ele aumenta automaticamente bigint(20) Primário N / D
comment_post_ID Este é o ID do post para o qual o comentário foi escrito, conforme encontrado na tabela wp_posts bigint(20) Índice 0
autor_comentário Este é o nome do autor que escreveu o comentário texto minúsculo
comment_author_email Este é o endereço de e-mail do autor que escreveu o comentário varchar(100) Índice
comment_author_url Este é o URL do site do autor que escreveu o comentário varchar(200)
comment_author_IP Este é o endereço IP do autor que escreveu o comentário varchar(100)
comment_date Esta é a data e hora em que o comentário foi publicado data hora 0000-00-00 00:00:00
comment_date_gmt Esta é a data e hora GMT (Greenwich Meridian Time) em que o comentário foi postado data hora Índice e Índice Pt2 0000-00-00 00:00:00
comment_content Este é o comentário real deixado texto
comment_karma Isso está disponível para uso por plugins para fins de gerenciamento de comentários int(11)
comment_approved Isso indica se o comentário foi aprovado ou não varchar(20) Índice Parte 1 0
agente_comentário Este é o lugar de onde o comentário foi postado varchar(255)
tipo_comentário Este é o tipo de comentário deixado varchar(20)
comment_parent Se o comentário for uma resposta, este campo indica o comentário pai bigint(20)não assinado Índice 0
ID do usuário Se um usuário comentador estiver registrado, este será seu ID conforme disponível em wp_users bigint(20)não assinado 0

wp_links

Esta tabela foi originalmente criada para suportar blogrolls, um recurso que foi descartado a partir do WordPress 3.5. Ele é mantido para compatibilidade com versões anteriores, mas não está mais em uso. A tabela tem as seguintes colunas:

Nome da coluna Descrição Tipo Nulo Chave Predefinição
id_link Este é um ID exclusivo para a entrada. Aumenta automaticamente bigint (20) não assinado Primário
link_url Este é o URL do link varchar(255)
nome_link
Este é o nome do link varchar(255)
imagem_link Este é o URL da imagem relacionada ao link varchar(255)
Link alvo Este é o frame de destino do link varchar(25)
link_desciption Esta é uma descrição do link varchar(255)
link_visible Isso nos diz se o link é exibido publicamente ou não varchar(20) Índice S
proprietário_do link Este é o ID do usuário que criou o link conforme disponível em wp_users bigint (20) não assinado 1
classificação_do link Esta é a classificação do link int(11) 0
link_update Esta é a data e hora em que o link foi atualizado data hora 0000-00-00 00:00:00
link_rel Esta é a relação do link varchar(255)
link_notes Isto é notas sobre o link texto médio
link_rss Este é o endereço do feed rss do link varchar(255)

wp_options

As configurações do WordPress configuradas por meio do console de administração são armazenadas aqui. Plugins e temas normalmente também armazenam informações de configurações aqui, conforme ilustrado na captura de tela abaixo. Aqui podemos ver a opção de frequência de varredura do nosso Monitor de Alterações de Arquivos do Site definida como diária. Mudanças de arquivos do WordPress Monitorar a frequência de varredura

A tabela tem as seguintes colunas:

Nome da coluna Descrição Tipo Nulo Chave Predefinição
option_id Este é um ID exclusivo para a entrada. Aumenta automaticamente. bigint(20) não assinado Primário
nome_opção Este é o nome da opção/configuração varchar(64) Exclusivo
valor_opção Este é o valor da configuração que está sendo armazenada texto longo
carregamento automático Esta configuração informa ao wp_load_alloptions() se deve carregar automaticamente a opção ou não varchar(20) Índice sim

wp_postmeta

Os metadados de postagens que acompanham cada postagem são armazenados aqui. Os metadados podem incluir arquivos anexados, miniaturas, slug de postagem desejado e outras informações desse tipo. A tabela tem as seguintes colunas:

Nome da coluna Descrição Tipo Nulo Chave Predefinição
meta_id Este é um ID exclusivo para a entrada. Aumenta automaticamente bigint(20) não assinado Primário
Nome do campo
post_id

Este é o ID do post ao qual os metadados estão associados conforme disponível em wp_posts bigint(20) não assinado Índice 0
meta_key Esta é uma chave de índice que identifica os metadados, pois cada postagem pode ter mais de um metadados varchar(255) Sim Índice Nulo
meta_value Estes são os metadados reais texto longo Sim Nulo

wp_posts

A tabela wp_posts é importante e contém o núcleo dos dados do WordPress. Ele contém as postagens reais, páginas e itens do menu de navegação, como visto no exemplo abaixo, mostrando a página de amostra padrão incluída em todas as novas instalações do WordPress. Página de amostra incluída em todas as novas instalações do WordPress

A tabela tem as seguintes colunas:

Nome da coluna Descrição Tipo Nulo Chave Predefinição
EU IRIA Este é um ID exclusivo para a entrada. Aumenta automaticamente bigint(20) não assinado Primário e Índice (Parte 4)
post_autor Este é o ID do autor que escreveu o post conforme disponível em wp_users bigint(20) não assinado Índice 0
Data de postagem Esta é a data e hora em que a postagem foi criada data hora Índice (Parte 3) 0000-00-00 00:00:00
post_date_gmt Esta é a data e hora GMT (Greenwich Mean Time) em que a postagem foi criada data hora 0000-00-00 00:00:00
Publicar conteúdo Este é o conteúdo real do post texto longo
post_title Este é o título do post texto
post_excerpt Este é um trecho do post texto
post_status Este é o status da postagem varchar(20) Índice (Parte 2) publicar
comment_status Isso nos diz se os comentários na postagem são permitidos ou não varchar(20) abrir
ping_status Isso nos diz se ping e trackbacks são permitidos ou não varchar(20) abrir
post_password As postagens podem ser protegidas por senha com qualquer senha aplicável armazenada aqui varchar(20)
Nome do post Este é o slug de URL do título do post varchar(200) índice
to_ping Esta é uma lista de URLs para os quais o WordPress deve enviar pingbacks sempre que o post for atualizado texto
pingado Esta é uma lista de URLs que o WordPress fez pingback quando atualizado texto
post_modified Esta é a data e hora da última modificação do post data hora 0000-00-00 00:00:00
post_modified_gmt Esta é a data e hora GMT da última modificação da postagem data hora 0000-00-00 00:00:00
post_content_filtered Esta é uma versão filtrada de post_content que normalmente é usada por plugins para fins de cache texto longo
post_parent Quando a postagem é uma revisão ou anexo, isso cria o relacionamento pai-filho bigint(20) não assinado Índice 0
guia Este é o Identificador Único Global (GUID) da postagem varchar(255)
menu_order Este é o número do pedido no qual as páginas e os itens não postados aparecem int(11) 0
Tipo de postagem Isso identifica o tipo de conteúdo varchar(20) Índice (Parte 1) publicar
post_mime_type Este é o tipo mime de anexos de postagem varchar(100)
Contagem de comentários Este é o número total de comentários, trackbacks e pingbacks bigint(20) 0

wp_terms

Termos são objetos de classificação usados ​​para classificar objetos no WordPress. Por exemplo, categorias e tags usadas em postagens são tipos de termos. Esta tabela contém todos os diferentes tipos de termos usados ​​em todo o WordPress. A tabela tem as seguintes colunas:

Nome da coluna Descrição Tipo Nulo Chave Predefinição
term_id Este é um ID exclusivo para a entrada. Aumenta automaticamente bigint(20) não assinado Primário
nome Este é o nome do termo varchar(200) Índice
lesma Esta é a lesma do termo varchar(200) Múltiplo
termo_grupo Este é um alias que temas e plugins podem usar para agrupar termos juntos bigint(10) 0

wp_termmeta

Esta tabela armazena os metadados associados aos termos encontrados em wp_terms. A tabela tem as seguintes colunas:

Nome da coluna Descrição Tipo Nulo Chave Predefinição
meta_id Este é um ID exclusivo para a entrada. Aumenta automaticamente bigint(20) não assinado Primário
term_id Este é o ID do termo ao qual os metadados se relacionam conforme disponível em wp_terms bigint(20) não assinado Índice 0
meta_key Esta é uma chave identificadora para o termo metadados varchar(255) Sim Índice NULO
meta_value Estes são os metadados reais texto longo Sim NULO

wp_term_relationships

Esta tabela mantém relações entre postagens e taxonomias. A tabela tem as seguintes colunas:

Nome da coluna Descrição Tipo Nulo Chave Predefinição
object_id Este é o ID do post conforme disponível em wp_posts bigint(20) não assinado Primário (Parte 1) 0
term_taxonomy_id Este é o ID do termo taxonomia conforme disponível em wp_term_taxonomy bigint(20) não assinado Primário (Parte 2) e Índice 0
termo_ordem Esta é a ordem do termo int(11) 0

wp_term_taxonomia

Esta tabela fornece taxonomias de termos e, como tal, um contexto no qual eles podem ser usados. Por exemplo, podemos usar o termo banco de dados como categoria de postagem e categoria de produto (assumindo que estamos vendendo serviços de banco de dados). Nesse caso, categoria de postagem e categoria de produto são taxonomias de termos. A tabela tem as seguintes colunas:

Nome da coluna Descrição Tipo Nulo Chave Predefinição
term_taxonomy_id Este é um ID exclusivo para a entrada. Aumenta automaticamente bigint(20) não assinado Primário
term_id Este é o ID do termo conforme disponível em wp_terms bigint(20) não assinado Único (Parte 1) 0
taxonomia Esta é a lesma da taxonomia varchar(32) Único (Parte 2) e Índice
Descrição Esta é uma descrição da taxonomia texto longo
pai Este é o ID da taxonomia pai se a taxonomia for filha bigint(20) não assinado 0
contar Este é o número de objetos que são atribuídos a esta taxonomia bigint(20) 0

wp_usermeta

Esta tabela armazena dados de usuário adicionais que não são encontrados na tabela wp_users. O próprio WordPress, assim como plugins ou temas, podem fazer uso desta tabela.

Um exemplo de metadados do usuário é o apelido do usuário. Embora o WordPress inclua esse campo por padrão, ele ainda faz parte dos metadados, conforme mostrado abaixo. Outro exemplo é o WooCommerce; um plug-in de comércio eletrônico que usa essa tabela para armazenar informações do cliente, como endereço de entrega.

Metadados de apelido do usuário

A tabela tem as seguintes colunas:

Nome da coluna Descrição Tipo Nulo Chave Predefinição
umeta_id Este é um ID exclusivo para a entrada. Aumenta automaticamente bigint(20) não assinado Primário
ID do usuário Este é o ID do usuário ao qual as informações estão relacionadas, conforme encontrado em wp_users bigint(20) não assinado Índice 0
meta_key Este é um identificador chave para a meta-entrada varchar(255) sim Índice Nulo
meta_value Estes são os metadados reais texto longo Sim Nulo

wp_users

As informações dos usuários do WordPress são armazenadas aqui. Com os usuários sendo parte integrante do ecossistema WordPress, esta tabela é essencial.

A tabela armazena apenas as informações principais de cada usuário, conforme mostrado no exemplo abaixo. Todas as outras informações são armazenadas na tabela wp_usermeta.

Usuários do WordPress outras informações meta

A tabela tem as seguintes colunas:

Nome da coluna Descrição Tipo Nulo Chave Predefinição
EU IRIA Este é um ID exclusivo para a entrada. Aumenta automaticamente bigint(20) não assinado Primário
login de usuário Este é o nome de usuário do usuário varchar(60) Índice
passagem de usuário Esta é a senha do usuário varchar(64)
user_nicename Este é o nome de exibição do usuário varchar(50) Índice
user_email Este é o endereço de e-mail do usuário varchar(100)
user_url Este é o URL do usuário (ex. site) varchar(100)
user_registered Esta é a data e hora em que o usuário foi registrado data hora 0000-00-00 00:00:00
user_activation_key Esta é a chave de ativação do usuário, usada para redefinir sua senha varchar(60)
status do usuário Isso não é mais usado a partir do WordPress 3.0, mas usado para indicar se o usuário era spam int(11) 0
Nome em Exibição Este é o nome de exibição público do usuário varchar(250)

Familiarize-se com o banco de dados WordPress

Os bancos de dados podem ser bastante intimidantes para os não iniciados – afinal, eles contêm todos os dados necessários para o WordPress funcionar. Embora seja verdade que um passo em falso aqui pode derrubar o site, não deixe que isso o intimide. Afinal, conhecer o banco de dados do WordPress pode facilitar muito seus esforços de solução de problemas, caso isso seja necessário.

A configuração de um ambiente de teste ou teste pode fornecer um espaço seguro no qual você pode experimentar sem correr o risco de deixar seu site offline. Você pode até configurar um ambiente de teste XAMPP em seu computador gratuitamente - fornecendo tudo o que você precisa para dominar o banco de dados do WordPress.