POP HOSTING

Status do MySQL no servidor cPanel: comandos e telas do WHM imprimir

  • status mysql, mysql cpanel, show processlist, too many connections, mysqladmin status, slow query log, whm
  • 0

Veja como checar o status do MySQL ou MariaDB num servidor cPanel pelo WHM e pelo terminal: serviço, conexões, processos, consultas lentas e logs.

  • Tempo: 15 min
  • Nível: Intermediário
  • Vale para: cPanel e WHM com MySQL 8.0 ou 8.4 e MariaDB 10.5 a 11.8
  • Atualizado: outubro de 2026

Quando os sites de um servidor cPanel ficam lentos ou mostram "erro ao conectar ao banco de dados", o MySQL é um dos primeiros suspeitos. Este roteiro mostra o que olhar, na ordem: o serviço está no ar, quantas conexões existem, quem está consumindo, quais consultas são lentas e o que diz o log.

Antes de começar

  • Acesso root ao WHM e, para a parte do terminal, ao SSH do servidor como root.
  • No cPanel, o root tem o arquivo /root/.my.cnf com a senha do banco. Por isso mysql e mysqladmin funcionam sem pedir senha.
  • Os comandos abaixo só leem informações. Mesmo assim, evite consultas pesadas no horário de pico.

Status do MySQL pelo WHM

  • Server Status » Service Status: mostra se o serviço de banco está no ar.
  • SQL Services » Show MySQL Processes: lista as consultas em andamento, com as colunas Id, User, Host, db, Command, Time, State e Info. Só mostra; para encerrar uma consulta use o terminal.
  • SQL Services » Edit SQL Configuration: ajusta max_connections, log de consultas lentas, long_query_time e outros. Salvar reinicia o serviço.
  • Restart Services » SQL Server (MySQL): reinicia o banco. Use como último recurso: todos os sites perdem a conexão por alguns segundos.
  • SQL Services » Repair a MySQL Database: repara tabelas MyISAM marcadas como corrompidas.

Status do MySQL pelo terminal

  1. Confira se o serviço está rodando e a versão.
    /scripts/restartsrv_mysql --status
    mysql -V
  2. Veja o resumo rápido.
    mysqladmin status
    A saída traz Uptime (segundos desde o último início), Threads (conexões abertas), Slow queries (consultas lentas desde o início) e Queries per second avg. Um Uptime pequeno sem você ter reiniciado indica que o banco caiu e voltou sozinho.
  3. Compare as conexões com o limite.
    mysql -e "SHOW GLOBAL STATUS WHERE Variable_name IN
      ('Threads_connected','Threads_running','Max_used_connections',
       'Aborted_connects','Connection_errors_max_connections');
    SHOW VARIABLES LIKE 'max_connections';"
    Se Max_used_connections já encostou em max_connections, alguém recebeu "Too many connections". Threads_running alto (dezenas) significa consultas se acumulando.
  4. Veja o que está rodando agora, do mais demorado para o mais rápido.
    mysql -e "SELECT id, user, db, command, time, state, LEFT(info, 80) AS consulta
      FROM information_schema.processlist
      WHERE command <> 'Sleep'
      ORDER BY time DESC LIMIT 20;"
  5. Descubra qual conta cPanel abre mais conexões. Os usuários de banco do cPanel começam com o nome da conta (conta_usuario), então dá para agrupar:
    mysql -e "SELECT SUBSTRING_INDEX(user, '_', 1) AS conta, COUNT(*) AS conexoes
      FROM information_schema.processlist
      GROUP BY conta ORDER BY conexoes DESC LIMIT 10;"
  6. Encerre uma consulta travada, se for o caso, usando o id da listagem: mysql -e "KILL 123456;". Encerrar um ALTER TABLE ou uma importação no meio pode deixar o trabalho pela metade; confirme com o dono do site antes.

Como achar as consultas lentas

Ative o log de consultas lentas em Edit SQL Configuration ou no /etc/my.cnf, na seção [mysqld]:

slow_query_log = 1
long_query_time = 1
slow_query_log_file = /var/lib/mysql/slow.log

Reinicie com /scripts/restartsrv_mysql, espere o movimento normal do dia e resuma o arquivo, ordenando pelas consultas que somaram mais tempo:

mysqldumpslow -s t -t 10 /var/lib/mysql/slow.log

No MariaDB 11, o comando pode se chamar mariadb-dumpslow. Na maioria das vezes a consulta campeã é resolvida com um índice na coluna usada no WHERE ou no ORDER BY.

Dica: o log cresce sem parar. Depois da análise, desligue (slow_query_log = 0) ou suba o long_query_time.

Log de erros e espaço em disco

Pergunte ao próprio banco onde está o log de erros e leia o final dele. No cPanel costuma ser /var/lib/mysql/NOME-DO-SERVIDOR.err:

mysql -NBe "SELECT @@log_error"
tail -n 100 /var/lib/mysql/servidor.seudominio.com.br.err

Disco cheio derruba o MySQL. Confira o espaço da partição e os bancos que mais ocupam:

df -h /var/lib/mysql
du -sh /var/lib/mysql/* | sort -h | tail -n 15

Problemas comuns

ERROR 1040: Too many connections

Todas as conexões permitidas estão ocupadas. Use a consulta por conta para ver quem está segurando conexões (robôs, cron mal feito, site sob ataque). Aumentar max_connections ajuda, mas cada conexão consome memória; suba aos poucos e acompanhe a RAM.

ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

O serviço está parado. Leia o log de erros antes de reiniciar: disco cheio, falta de memória (o sistema mata o processo) e opção inválida no /etc/my.cnf são as causas mais comuns. Depois de corrigir, /scripts/restartsrv_mysql.

MySQL server has gone away

A conexão caiu no meio do caminho. Em importações grandes, o pacote passou do max_allowed_packet; em scripts longos, a conexão ficou parada mais que o wait_timeout. Ajuste o valor correspondente em Edit SQL Configuration.

Table is marked as crashed and should be repaired

Tabela MyISAM danificada, em geral depois de queda de energia ou disco cheio. Use Repair a MySQL Database no WHM ou mysqlcheck -r banco tabela. Tabelas InnoDB não usam esse reparo; se possível, converta as MyISAM para InnoDB.

Servidor lento com o MySQL no topo do consumo de CPU

Quase sempre é uma consulta sem índice repetida muitas vezes. Use a lista de processos para ver o padrão e o log de consultas lentas para confirmar. Uma consulta pesada rodada à mão em tabela MyISAM grande também trava tudo enquanto roda.

Seus sites cresceram e o banco está no limite? Veja os servidores dedicados da POP Hosting, com cPanel e suporte em português.

Esta resposta lhe foi útil?
« Retornar