Alterar o prefixo do banco de dados do WordPress: 3 métodos fáceis

Alterar o prefixo das tabelas do banco de dados do WordPress é uma forma simples, mas eficaz, de melhorar a segurança do seu site. Por padrão, o WordPress atribui o prefixo de tabela wp_, o que o torna um alvo comum para hackers que tentam ataques de injeção SQL. Modificar esse prefixo pode ajudar a proteger seu banco de dados contra esse tipo de ameaça.

Neste guia, explicaremos três métodos diferentes para alterar com segurança o prefixo das tabelas do banco de dados do WordPress.

Toda ação em um site WordPress está vinculada ao banco de dados:

Como os bancos de dados funcionam no WordPress.
This image demonstrates how Databases work in WordPress.

Por que alterar o prefixo de tabela do WordPress?

Alterar o prefixo de tabela padrão wp_ ajuda a:

  • Reduzir o risco de ataques de injeção SQL
  • Dificultar para os invasores adivinhar os nomes das tabelas
  • Adicionar uma camada extra de segurança ao seu site WordPress

Antes de começar: faça um backup do seu banco de dados

Antes de fazer qualquer alteração, crie um backup completo do banco de dados do WordPress usando phpMyAdmin, um plugin como o WP Staging ou uma ferramenta de linha de comando.

Alterar o prefixo do banco de dados do WordPress pode ser uma tarefa crítica e nem sempre é fácil. Você precisa garantir que não vai quebrar seu site ao alterar o prefixo das tabelas do WordPress.

Antes de alterar o prefixo do banco de dados, recomendamos fazê-lo em um site de staging. Assim você poderá verificar a fundo se a atualização funciona e, depois de alterar o prefixo do BD, enviar seu site de staging para o site de produção com segurança, sem qualquer risco de perda de dados.

Um site de staging é uma cópia do seu site em produção, o que permite fazer diferentes alterações/testes e publicar essas mudanças com um único clique.

Você pode criar um site de staging gratuito com o WP STAGING.

Ao instalar o WordPress, um dos erros mais comuns é esquecer de alterar o prefixo do banco de dados do WordPress, permitindo que invasores executem injeções SQL automatizadas. Por isso, tomar medidas preventivas é fundamental para proteger seu site contra invasões.

Como alterar o prefixo do banco de dados do WordPress

Siga este guia passo a passo para renomear com segurança o prefixo do banco de dados do WordPress.

Existem três (3) opções para alterar e renomear o prefixo do banco de dados do seu site WordPress:

  1. Usar um plugin para alterar o prefixo das tabelas do banco de dados.
  2. Renomear o prefixo do banco de dados do WordPress usando uma consulta de banco de dados com o Adminer.
  3. Renomear o prefixo do banco de dados do WordPress usando uma consulta de banco de dados com o PhpMyAdmin.

Método 1: Usar um plugin para alterar o prefixo das tabelas do banco de dados

Primeiro, recomendamos que você faça um backup do seu site (seja com o recurso de backup do WP STAGING | PRO ou manualmente pelo CPanel) para evitar qualquer imprevisto causado pela instalação de um plugin.

Podemos alterar o prefixo do banco de dados usando um plugin. Aqui estão alguns passos simples para fazer isso no WordPress.

  1. Acesse o painel do WordPress.
  2. Vá até a aba "Plugins" e clique em "Adicionar novo".
  3. Procure por Brozzme DB Prefix & Tools Add-ons no repositório de plugins do WordPress.
  4. Clique no botão "Instalar agora" para instalar o Brozzme DB Prefix & Tools Add-on no seu site.
  5. Clique no botão "Ativar" para ativar este plugin.
atualizar o prefixo do banco de dados do WordPress via plugin

O plugin está ativado e podemos começar imediatamente a alterar o prefixo do banco de dados do WordPress.

  1. Vá em "Ferramentas" e clique em "DB Prefix". Você verá o prefixo atual do seu banco de dados e poderá alterá-lo para um novo.
prefixo do banco de dados do WordPress

Se o arquivo wp-config.php não tiver permissão de escrita, você receberá um aviso de erro porque este plugin não consegue alterar o prefixo do banco de dados no arquivo wp-config.php.

Ao clicar no botão "Change DB Prefix", você terá concluído a tarefa.

Método 2: Renomear o prefixo do banco de dados do WordPress usando consulta SQL com o Adminer

Alterar o prefixo de tabela no arquivo de configuração wp-config.php

Altere o valor do prefixo de tabela no arquivo wp-config.php localizado na pasta raiz do diretório do WordPress.

Para editar o arquivo wp-config.php, você pode entrar via FTP ou SFTP usando o Filezilla ou qualquer outro cliente FTP. Encontrará os dados de FTP no cPanel (dependendo do seu hosting, já que alguns provedores não usam cPanel e sim um painel personalizado).

Procure por esta linha no arquivo wp-config.php:

$table_prefix = 'wp_testing123_';

 
Esta imagem mostra onde o prefixo de tabela pode ser encontrado no arquivo wp-config.php.
It should look like this in the wp-config file:
Esta imagem mostra como fica a linha atualizada.
That is what the updated line should look like.

Você só pode usar um prefixo com números, letras e sublinhados. Depois de fazer as alterações no arquivo wp-config.php, salve-o.

Renomear as tabelas do banco de dados

Se estiver usando o Adminer, você encontrará o botão de comando SQL no canto superior esquerdo; selecione esse botão.

Esta imagem mostra uma captura de tela de onde encontrar o botão de comando SQL no Adminer
Where to find the SQL command button

A consulta SQL abaixo pode ser usada para alterar o prefixo das tabelas do WordPress no banco de dados de um site WordPress já existente.

Atualize as propriedades SET conforme suas necessidades:

  • nome do banco de dados
  • oldprefix_
  • newprefix_

Esta é a consulta SQL:

sql
SET @database  = "<strong>databasename</strong>";
SET @oldprefix = "<strong>oldprefix_</strong>";
SET @newprefix = "<strong>newprefix_</strong>";
 
SELECT
    concat(
        "RENAME TABLE ",
        TABLE_NAME,
        " TO ",
        replace(TABLE_NAME, @oldprefix, @newprefix),
        ';'
    ) AS "SQL" FROM information_schema.TABLES WHERE TABLE_SCHEMA = @database;

Depois de personalizar a consulta, você obterá algo assim:

Uma consulta SQL para atualizar o prefixo do banco de dados do WordPress
Use this SQL query to update the WordPress database Prefix

Execute essa consulta e, como resultado, obterá consultas adicionais como estas:

RENAME oldprefix_options to newprefix_options;
RENAME oldprefix_users to newprefix_users;

Copie essas consultas e execute-as novamente para renomear as tabelas com os novos nomes.

Use esta consulta SQL para renomear as tabelas do banco de dados do WordPress
Use this SQL query to rename WordPress database tables

Renomear o prefixo na tabela user meta

Depois de renomear as tabelas, você também precisa substituir alguns valores nas tabelas *_usermeta e *_options usando as consultas abaixo.

Não se esqueça de atualizar as strings destacadas.

Para substituir os valores na tabela *_usermeta, use esta consulta:

SQL
UPDATE `newprefix_usermeta`
SET meta_key = REPLACE(meta_key, 'oldprefix_', 'newprefix_')
WHERE meta_key LIKE 'oldprefix_%';
Use esta consulta SQL para renomear o prefixo de tabela na tabela wp_usermeta
Use this SQL query to rename the prefix in table wp_usermeta

Atualizar o prefixo na tabela wp_options

A última etapa é substituir os valores na tabela *_options.

Use esta consulta:

SQL
UPDATE wp_options SET option_name = replace(option_name, 'wp_', 'new_') WHERE option_name LIKE 'wp_%';
Esta imagem mostra as consultas SQL para substituir os valores na tabela options
Execute this query to replace the values in the options table.

É isso.

Método 3: Renomear o prefixo do banco de dados do WordPress usando consulta SQL com o PHPmyAdmin

Alterar o prefixo de tabela no wp-config.php.

Altere o prefixo de tabela no arquivo wp-config.php localizado na pasta raiz do diretório do WordPress.

Para editar o arquivo wp-config.php, você pode entrar via FTP ou SFTP usando o Filezilla ou qualquer outro cliente FTP. Encontrará os dados de FTP no cPanel (dependendo do seu hosting, já que alguns provedores não usam cPanel e sim um painel personalizado).

Veja esta linha no arquivo wp-config.php.

$table_prefix = 'wp_testing123_';

Você só pode usar um prefixo com números, letras e sublinhados. Depois de fazer as alterações no arquivo wp-config.php, salve-o.

Renomear as tabelas do banco de dados

Suponha que você esteja usando o cPanel e acessando o PhpMyAdmin. Do lado esquerdo você verá seus bancos de dados. Se não estiver usando o cPanel, entre em contato com seu provedor e acesse o banco de dados do seu site.

Selecione o banco de dados em que deseja alterar o prefixo de tabela especificado no arquivo wp-config.php e siga os passos abaixo.

  1. Selecione o banco de dados.
  2. Marque a caixa "marcar tudo" para selecionar todas as tabelas.
  3. Clique no menu suspenso e selecione "Substituir prefixo da tabela".
alterar o prefixo de tabela do WordPress
  1. Substitua o prefixo antigo pelo novo prefixo.
atualizar o prefixo do banco de dados do WordPress

Depois de inserir um novo prefixo, clique em continuar para alterar o prefixo no banco de dados.

Renomear prefixo na tabela Options

Procure pelo prefixo wp_ na tabela options usando esta consulta.

SQL
SELECT * FROM `wp_testing123_options` WHERE `option_name` LIKE '%wp_%'

Substitua todos os prefixos antigos pelos novos.

Substitua os prefixos de tabela antigos pelos novos usando uma consulta SQL.

Atualizar prefixo na tabela Usermeta

Precisamos procurar wp_ como prefixo na tabela usermeta e substituí-lo usando esta consulta.

SQL
SELECT * FROM `wp_testing123_usermeta` WHERE `meta_key` LIKE '%wp_%'
prefixo do banco de dados do site WordPress

Outra opção é: se quiser alterar o prefixo do banco de dados usando uma consulta de banco de dados, você pode usar esta única consulta para que funcione.

Se quiser alterar o prefixo das tabelas WordPress do banco de dados em um site WordPress já existente, você pode usar a seguinte consulta SQL:

SQL
SET @database = "database_name";
SET @old_prefix = "old_prefix_";
SET @new_prefix = "new_prefix_";

SELECT concat "RENAME TABLE ", TABLE_NAME, " TO", replace(TABLE_NAME, @old_prefix, @new_prefix),';') AS "SQL" FROM information_schema.TABLES WHERE TABLE_SCHEMA = @database;

Esta consulta criará outra consulta SQL que você pode usar para renomear todos os prefixos de tabela para os novos.

Depois disso, você também precisa substituir alguns valores nas tabelas wp_usermeta e wp_options usando as consultas abaixo.

SQL
UPDATE `wp_testing123_usermeta`
SET meta_key = REPLACE(meta_key, 'wp_', 'new_')
WHERE meta_key LIKE 'wp_%';

UPDATE wp_options SET option_name = replace(option_name, 'wp_', 'new_') WHERE option_name LIKE 'wp_%';

É isso.

Esse é o método manual para alterar o prefixo do banco de dados.

Não consigo fazer login no painel administrativo do WordPress após renomear o prefixo de tabela

Este é o erro mais comum em que os usuários esbarram ao renomear o prefixo de tabela do WordPress.
Verifique se você atualizou o prefixo em todos esses nomes de colunas e se não deixou nenhum de lado:

Na tabela wp_option

  • wp_user_roles

Na tabela wp_user_meta

  • wp_capabilities
  • wp_user_level

Depois de renomear o prefixo dessas colunas para o mesmo prefixo dos nomes das tabelas, você poderá fazer login novamente no seu site WordPress.

Conclusão

Alterar o prefixo de tabela do WordPress é uma medida de segurança simples, mas eficaz. Esteja você usando phpMyAdmin, um plugin ou scripts SQL, sempre faça um backup do seu banco de dados antes de fazer alterações. Esse pequeno ajuste pode fazer uma grande diferença na segurança do seu site WordPress!

Artigos relacionados

Rene Hermenau

Autor: Rene Hermenau

Sobre o autor: René Hermenau é o fundador do WP STAGING. Ele trabalha com backups do WordPress, ambientes de staging, migrações, gestão de bases de dados e fluxos de implantação seguros.