Como resetar a senha de root do servidor MySQL

Vamos rapidinho para não perder tempo. Você deve ter acesso root ao seu sistema:

Parar o serviço do MySQL:

# systemctl stop mysql

Iniciar o servidor do MySQL sem checagem de permissões:

# mysqld --skip-grant-tables &
# mysql

No prompt do MySQL: mudar a senha (substituindo ‘new-password’ na query pela senha que você deseja):

mysql> UPDATE mysql.user SET Password = PASSWORD('NEW-PASSWORD') WHERE User = 'root';
mysql> FLUSH PRIVILEGES;
mysql> exit;

Parar essa instância do servidor e iniciar no modo normal:

# mysqladmin -u root -p shutdown
# systemctl start mysql

Feito! Fica o recado: É melhor esquecer e ter que resetar a senha de root do que achá-la nos arquivos de alguma aplicação. 🙂

MySQL: Como apagar registros duplicados e manter apenas um

A um tempo atrás tive problema num sistema que estava inserindo registros duplicados no banco e o relatório estava dando números completamente descabidos.
Além de resolver o bug no sistema tive de deletar as duplicatas, deixando apenas um registro.
Como fazer isso direto no MySQL sem ter que fazer um script que iria demorar um bom tempo para rodar, levando em conta o número de registros?

Pesquisando aqui e ali achei este artigo que apresenta várias consultas diferentes para resolver esse problema.
Criar tabelas temporárias e copiar os registros para a original, subselects e outras que vale apena ler para aprender.
Mas nessa dica vou mostrar apenas a query que eu usei, que é “curta e grossa” e a que julguei dar menos trabalho.

Continue lendo “MySQL: Como apagar registros duplicados e manter apenas um”