Autor Diego Elcain

[RESOLVIDO] MySql com 100% de CPU

MySQL chegando a 100% de CPU geralmente indica que há queries pesadas, travamentos por locks, falta de índices, buffers mal configurados ou consumo anormal por threads.

Vamos por partes 👇


🧩 1. Diagnóstico inicial

Primeiro, identifique o que está consumindo CPU:

🔍 a) Ver processos ativos

mysqladmin processlist -uroot -p

ou dentro do MySQL:

SHOW FULL PROCESSLIST;

Procure por queries com:

  • State = “Sending data”, “Copying to tmp table”, “Locked”

  • Time muito alto (execução longa)

👉 Essas queries geralmente são as culpadas.


🔍 b) Top ou htop

No servidor Linux:

top -c

ou

htop

Procure o(s) processo(s) mysqld com alto uso. Pressione Shift + P para ordenar por CPU.

Veja também quantas threads estão ativas.


🧠 2. Analisar queries lentas

Habilite o slow query log se ainda não estiver:

SET GLOBAL slow_query_log = 1; SET GLOBAL long_query_time = 1; -- Loga queries acima de 1s SET GLOBAL slow_query_log_file = '/var/log/mysql/slow.log';

Depois veja:

mysqldumpslow -s t /var/log/mysql/slow.log | head

 


🧾 3. Ver status e métricas internas

Verifique o status geral:

SHOW GLOBAL STATUS LIKE 'Threads%'; SHOW GLOBAL STATUS LIKE 'Queries%'; SHOW GLOBAL STATUS LIKE 'Handler%'; SHOW ENGINE INNODB STATUS\G

Isso ajuda a identificar:

  • alto número de threads simultâneos

  • filas de I/O

  • bloqueios InnoDB (LATEST DETECTED DEADLOCK)


🧩 4. Checar configuração do MySQL (tuning)

Execute o MySQLTuner:

wget http://mysqltuner.pl -O mysqltuner.pl perl mysqltuner.pl

Ele mostra gargalos típicos, como:

  • query_cache_size pequeno

  • innodb_buffer_pool_size muito baixo (deve ser ~70% da RAM total)

  • tmp_table_size pequeno (causando escrita em disco)

  • max_connections muito alto (causando saturação por threads)


📊 5. Monitoramento em tempo real

Ferramentas úteis:

  • mysqltop → mostra queries em tempo real.

  • Percona PMM → monitora métricas de CPU, queries e locks graficamente.

  • Grafana + Prometheus + mysqld_exporter → ideal para histórico.


✅ Solução

Defina para cerca de 70–80% da RAM total se o servidor for dedicado ao MySQL.
Exemplo (para um servidor com 8 GB de RAM):

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
# Buffers de join (usados por thread)
join_buffer_size = 4M
# Tabelas temporárias em memória (usadas por thread)
tmp_table_size = 64M max_heap_table_size = 64M
# Pool principal do InnoDB (~65% da RAM total)
innodb_buffer_pool_size = 5G innodb_buffer_pool_instances = 5
# Log buffer (melhora desempenho de escrita)
innodb_log_buffer_size = 256M

Reinicie o serviço:

sudo systemctl restart mysql

 


🧾 Resumo do impacto esperado

Área Ganho esperado
Consultas repetidas ⚡ 20–40% mais rápidas
JOINs grandes ⚡ Menos CPU
Writes InnoDB ⚡ Menos fsync / I/O
Tabelas temporárias ⚡ Evita gravações no disco
Concorrência ⚡ Menos contenção entre threads

Verifique:

mysql -uroot -p

SHOW VARIABLES LIKE 'innodb_buffer_pool_size';
SHOW VARIABLES LIKE 'innodb_buffer_pool_instances';
SHOW VARIABLES LIKE 'join_buffer_size';

 

Como posso compartilhar uma imagem em um link do Google Drive?

Como posso compartilhar uma imagem em um link do Google Drive?

Outras formas de pesquisa para essa dica seria:

  • Como incorporar imagens do Google Drive em seu site?
  • Como obter URLs de imagens do Google Drive
  • Como posso compartilhar uma imagem em um link do Google Drive?
  • Como acessar um link de imagem compartilhado no google drive?
  • Como faço para copiar o URL da imagem do google drive?
  • Como exibir uma imagem de um link de URL compartilhado google drive?

Acesse o Google Drive e Compartilhe a Imagem Publicamente

Você receberá um link parecido como esse

https://drive.google.com/file/d/1OAIJMGndsdfasdfashTsNO0QUSSUHD/view?usp=sharing

Reserver o UUDI da Mensagem : 1OAIJMGndsdfasdfashTsNO0QUSSUHD

Com o link abaixo preencha o UUID corretamente

https://lh3.googleusercontent.com/d/COLE_AQUI_UUID_DA_IMAGEM

Seu link de compartilhamento deverá fica dessa maneira.

https://lh3.googleusercontent.com/d/1OAIJMGndsdfasdfashTsNO0QUSSUHD

Para incorporar a imagem em um código HTML use a tag IMG

<img src="https://lh3.googleusercontent.com/d/1OAIJMGndsdfasdfashTsNO0QUSSUHD"/>

 

Script Backup Power Shell e 7z

Segue um script funcional e eficiente para backup local usando o power shell e 7z

 

# Caminho do executável 7-Zip
$SevenZip = "C:\Program Files\7-Zip\7z.exe"

# Diretórios de origem (adicione quantos quiser)
$SourceDirs = @(
"C:\sistema",
"D:\DFS\storage"
)

# Diretório de destino do backup
$BackupDir = "D:\Backup_Local"

# Número de backups a manter
$KeepBackups = 4

# Nome do arquivo de backup com data
$Date = Get-Date -Format "yyyy-MM-dd"
$BackupFile = Join-Path $BackupDir "Backup_$Date.7z"

# -------------------------------------------------
# Verifica e encerra qualquer processo 7z.exe ativo
# -------------------------------------------------
$SevenZipProcesses = Get-Process -Name "7z" -ErrorAction SilentlyContinue
if ($SevenZipProcesses) {
Write-Host "Finalizando processos 7z.exe em execução..."
$SevenZipProcesses | ForEach-Object { Stop-Process -Id $_.Id -Force }
}

# Cria o diretório de destino se não existir
if (!(Test-Path $BackupDir)) {
New-Item -ItemType Directory -Path $BackupDir | Out-Null
}

# Cria o backup (agora passando os diretórios como array)
& "$SevenZip" a -t7z -mx9 "$BackupFile" @SourceDirs

# Limpeza: mantém apenas os últimos $KeepBackups arquivos
$Backups = Get-ChildItem -Path $BackupDir -Filter "Backup_*.7z" | Sort-Object LastWriteTime -Descending

if ($Backups.Count -gt $KeepBackups) {
$OldBackups = $Backups | Select-Object -Skip $KeepBackups
foreach ($Old in $OldBackups) {
Remove-Item $Old.FullName -Force
}
}

 

Pacote de Drivers e Scanner da Samsung scx 4623f

Pacote de Drivers e Scanner da Samsung scx 4623f

  1. Samsung Easy Documentor Creator
  2. Smart Panel
  3. Smat Thru 4

 

https://fs.cuidadodigital.net.br/share/Zoj1Y7QO

 

Bypass NRO Windows 11

Versão do windows 11 superior a 24h2 não possui mais a função OOBE\BYPASSNRO, para fazer o bypass nas versões mais novas do windows proceda com as seguintes opções.

Metodo 1

Assim que iniciar a finalização da instalação do Windows aperte as Teclas Shift + F10

No prompt de comando digite:

start ms-cxh:localonly

Metodo 2

Assim que iniciar a finalização da instalação do Windows aperte as Teclas Shift + F10

No prompt de comando digite:

regedit

Navegue a até:

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE

Crie um novo valor DWORD chamado BypassNRO clicando com o botão direito do mouse na área vazia e escolhendo Novo > Valor DWORD (32 bits).

Clique duas vezes nele para definir os dados do valor como 1.

 

 

 

Como renomear um domínio do Active Directory

Como renomear um domínio do Active Directory

Embora não seja recomendado, pode ser necessário ter que renomear, para isso segue o passo a passo.

Nesse tutorial iremos renomear de olddomain.tld para newdomain.local

Obs. Fazer backup antes de inciar o processo.

1 – Preparar Zonas DNS

<?xml version ="1.0"?>
<Forest>
    <Domain>
        <!-- PartitionType:Application -->
        <Guid>a582d5a0-7014-401e-b313-975775b2ed64</Guid>
        <DNSname>DomainDnsZones.newdomain.local</DNSname>
        <NetBiosName></NetBiosName>
        <DcName></DcName>
    </Domain>
    <Domain>
        <!-- PartitionType:Application -->
        <Guid>5ce98fd4-7dd9-4d39-9d33-0e3927f64f35</Guid>
        <DNSname>ForestDnsZones.newdomain.local</DNSname>
        <NetBiosName></NetBiosName>
        <DcName></DcName>
    </Domain>
    <Domain>
        <!-- ForestRoot -->
        <Guid>29901115-1cd4-440e-b6fe-f16d25b6bb50</Guid>
        <DNSname>newdomain.local</DNSname>
        <NetBiosName>NEWDOMAIN</NetBiosName>
        <DcName></DcName>
    </Domain>
</Forest>

4 – Para confirmar se os dados estão preenchidos corretamente verifique com rendom /showforest

rendom /showforest

5 – Se estiver tudo certo, faça o upload do arquivo

rendom /upload

6 – Verificando os domains controllers

rendom /prepare

7 – Senão apresentar nenhum erro nas etapas anteriores então execute, o servidor será reiniciado ao final do processo. AGUARDE.

  • Caso o computador não reinicie, execute novamente.
rendom /execute

8 – Corrija NetBios Name nas entradas GPO

gpfixup /olddns:olddomain.tld /newdns:newdomain.tld
gpfixup /oldnb:olddomain.tld /newnb:newdomain.tld

9 – Adicione o novo nome no controlador de domínio manualmente e torne-os como primário.

netdom computername %COMPUTERNAME%.olddomain.local /add:%COMPUTERNAME%.newdomain.local
netdom computername %COMPUTERNAME%.olddomain.local /makeprimary:%COMPUTERNAME%.newdomain.local

10 –  Reinicie o computador

Shutdown /f /r /t 0

11 – Remove os links para o controlador antigo

rendom /clean

12 – Desbloqueie o servidor

rendom /end

Senão apresentar nenhum erro, o processo de renomear seu controlador de domínio ocorreu com sucesso.

Reinicie as estações de trabalho duas ou tres vezes se for necessário para que elas peguem as novas configurações de domínio.

Senão der certo, pode ser necessário reconfigurar as estações de trabalho.

 

[Resolvido] Certificado Inválido e2guardian linux

Essa dica auxilia todos que estão tendo problemas com certificaodo inválido no e2guardian no linux.

Gere um EPOCH date com o seguinte comando

date +%s

Com o resultado atualize a linha generatedcertstart

Abra o arquivo e2guardian.conf  e localize a linha

generatedcertstart

Ajueste para

generatedcertstart = 1733871979

 

Como reinstalar Microsoft Store, Windows Store

Encontrei nesse site https://www.minitool.com/news/how-to-reinstall-microsoft-store.html o melhor tutorial para reinstalar o Microsoft Store ou Windows Store.

O procedimento que deu certo comigo foi:

  1. 1. Go to https://store.rg-adguard.net/.

    2. Copy and paste the following URL to the URL text box: https://www.microsoft.com/en-us/p/microsoft-store/9wzdncrfjbmp.

    3. Select Retail.

    4. Click the Generate icon.

Faça o Download

  • WindowsStore_12011.1001.113.0_neutral_~_8wekyb3d8bbwe.appxbundle

Se tiver mais de um WindowStore ….. appxbundle faça o download de todos.

Abra o Power Shell como administrador

Tente instalar todos os appxbundle baixados.

Add-AppxPackage -Path "C:\Path\to\File.appxbundle"

 

Criando um executável de um projeto em Python com PyInstaller

Dica rápida para criar um executável em python com PyInstaller

1 – Instalar o PyInstaller

pip install pyinstaller

2 – Assim que tiver finalizado o projeto, gere o executável, nesse caso os paramentros são:

2.1 -F – Empacotar tudo em um único arquivo executável.

2.2 – –noconsole – Aplicação irá rodar em background.

pyinstaller.exe -F --noconsole .\main.py

 

[RESOLVIDO] Squid não acessa Whatsapp Web erro de WWS Websocket

Resolvi o problema de erro de websocket no whtasapp web usando o Swquid com SSL BUMP

acl serverIsws ssl::server_name_regex ^w[0-9]+\.web\.whatsapp\.com$ ^w[0-9]+\.web\.whatsapp\.net$
acl broken_sites ssl::server_name .whatsapp.com
acl step1 at_step SslBump1

ssl_bump peek step1
ssl_bump splice serverIsws
ssl_bump splice broken_sites
ssl_bump bump all