MySQL Commands Cheat Sheet¶
Backup com mysqldump¶
Com bloqueio de tabelas (Lock Tables)¶
mysqldump -u [USER] -p [PASSWORD] --lock-tables [DATABASE] > backup.sql
Notas: Bloqueia tabelas durante o backup. Use em ambientes onde as tabelas podem ser bloqueadas sem impactar a produção.
Sem bloqueio (Usando transações)¶
mysqldump -u [USER] -p --single-transaction --no-tables-lock [DATABASE] > backup.sql
Notas: Ideal para sistemas em produção. Utiliza transações para evitar bloqueios.
Gerenciamento de Usuários¶
Criar Usuário¶
CREATE USER 'user'@'localhost' IDENTIFIED BY 'senha_forte';
Dica: Restrinja o acesso ao 'localhost' para conexões locais.
Alterar Senha¶
ALTER USER 'user'@'localhost' IDENTIFIED BY 'nova_senha';
Limitar Conexões¶
ALTER USER 'user'@'localhost' WITH MAX_USER_CONNECTIONS 50;
Nota: Limita a 50 conexões simultâneas para o usuário.
Privilegios de Banco¶
Conceder Acesso Completo¶
GRANT ALL PRIVILEGES ON db.* TO 'user'@'%';
Cuidado: ALL PRIVILEGES concede acesso total. Use com restrições.
Acesso Personalizado¶
GRANT SELECT, INSERT ON db.* TO 'user'@'%';
Prática: Restrinjir privilégios ao necessário (ex: apenas SELECT, INSERT).
Revogar Privilégios¶
REVOKE INSERT ON db.* FROM 'user'@'%';
Comandos para SysAdmin¶
Monitorar Processos¶
SHOW PROCESSLIST;
Matar Processo Bloqueante¶
KILL [process_id];
Ajustar Variáveis Globais¶
SET GLOBAL max_connections = 200;
Visualizar Configurações¶
SHOW VARIABES LIKE 'max_connections';