mysql
Ajuda seu agente a gerenciar bancos de dados MySQL/MariaDB. Ele configura replicação e otimiza o desempenho. Útil para quem administra implantações MySQL.
O que ela faz
Este agente ajuda a gerenciar bancos de dados MySQL ou MariaDB. Ele pode instalar, configurar, otimizar e fazer backups desses bancos de dados.
Quando usar
- ✓Ao instalar um novo banco de dados MySQL/MariaDB.
- ✓Quando precisar otimizar a velocidade do seu banco de dados.
- ✓Para configurar cópias de segurança (backups) do seu banco de dados.
Exemplo do que pedir para a IA
“Como configuro o MySQL no meu servidor Linux?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ele usa comandos do sistema para instalar o software e scripts SQL para criar usuários e bancos de dados. Para otimização e backups, ele ajusta arquivos de configuração e executa ferramentas específicas.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill mysqlOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/mysql/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
MySQL / MariaDB
Administre, otimize e proteja bancos de dados MySQL e MariaDB em ambientes de desenvolvimento e produção.
Quando Usar
- Você precisa de um banco de dados relacional maduro e amplamente suportado.
- Sua stack depende de recursos específicos do MySQL ou de compatibilidade (WordPress, Magento, muitos frameworks PHP).
- Você está configurando replicação de origem-réplica para escalabilidade de leitura.
- Você deseja ajustar o InnoDB para cargas de trabalho transacionais de alto rendimento.
Pré-requisitos
- Servidor Linux (Debian/Ubuntu ou baseado em RHEL) ou Docker.
- Acesso root ou sudo para instalação de pacotes.
- Familiaridade com os fundamentos de SQL.
Instalação e Configuração
# Debian / Ubuntu — MySQL 8
sudo apt update
sudo apt install -y mysql-server
# RHEL / Amazon Linux
sudo dnf install -y mysql-server
sudo systemctl enable --now mysqld
# Run the secure installation wizard
sudo mysql_secure_installation
# Prompts: set root password, remove anonymous users, disable remote root, remove test db
# Verify
mysql --version
sudo systemctl status mysql
Configuração Inicial de Usuário e Banco de Dados
sudo mysql -u root -p
-- Create a database
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- Create an application user with strong auth
CREATE USER 'myapp'@'%' IDENTIFIED BY 'strong_password_here';
GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'myapp'@'%';
FLUSH PRIVILEGES;
-- Verify
SHOW GRANTS FOR 'myapp'@'%';
Referência da CLI do mysql
# Connect
mysql -u myapp -p -h 127.0.0.1 mydb
# Execute a single statement
mysql -u myapp -p -e "SELECT COUNT(*) FROM orders;" mydb
# Import a SQL file
mysql -u myapp -p mydb < schema.sql
# Export query results to CSV
mysql -u myapp -p -e "SELECT * FROM users" mydb \
| tr '\t' ',' > users.csv
-- Inside the mysql shell
SHOW DATABASES;
USE mydb;
SHOW TABLES;
DESCRIBE users;
SHOW CREATE TABLE users\G
SHOW PROCESSLIST;
SHOW ENGINE INNODB STATUS\G
Ajuste de Configuração
Edite /etc/mysql/mysql.conf.d/mysqld.cnf (ou /etc/my.cnf no RHEL).
[mysqld]
# -- Networking --
bind-address = 0.0.0.0
max_connections = 300
wait_timeout = 600
interactive_timeout = 600
# -- InnoDB (most impactful settings) --
innodb_buffer_pool_size = 4G # ~70% of RAM on a dedicated server
innodb_buffer_pool_instances = 4 # 1 per GB of pool (up to 64)
innodb_log_file_size = 1G
innodb_flush_log_at_trx_commit = 1 # 1 = ACID; 2 = faster, slight risk
innodb_flush_method = O_DIRECT # avoids double buffering on Linux
innodb_io_capacity = 2000 # raise for SSD
innodb_io_capacity_max = 4000
# -- Query cache (disabled in MySQL 8, use ProxySQL or app cache) --
# query_cache_type = 0
# -- Logging --
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1
log_error = /var/log/mysql/error.log
# -- Binary log (required for replication) --
server-id = 1
log_bin = /var/log/mysql/mysql-bin
binlog_expire_logs_seconds = 604800 # 7 days
sync_binlog = 1
# -- Character set --
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
# Apply changes
sudo systemctl restart mysql
# Verify a setting at runtime
mysql -u root -p -e "SHOW VARIABLES LIKE 'innodb_buffer_pool_size';"
Backup e Restauração
Backups Lógicos com mysqldump
# Single database
mysqldump -u root -p --single-transaction --routines --triggers \
mydb > /backups/mydb_$(date +%F).sql
# All databases
mysqldump -u root -p --all-databases --single-transaction \
> /backups/all_$(date +%F).sql
# Compressed backup
mysqldump -u root -p --single-transaction mydb \
| gzip > /backups/mydb_$(date +%F).sql.gz
# Restore
mysql -u root -p mydb < /backups/mydb_2025-01-15.sql
# Restore compressed
gunzip < /backups/mydb_2025-01-15.sql.gz | mysql -u root -p mydb
Backups Físicos com Percona XtraBackup
# Instalar
sudo apt install -y percona-xtrabackup-80
# Backup completo
xtrabackup --backup --user=root --password=secret \
--target-dir=/backups/full_$(date +%F)
# Preparar o backup (aplicar logs de redo)
xtrabackup --prepare --target-dir=/backups/full_2025-01-15
# Restaurar (parar o MySQL primeiro)
sudo systemctl stop mysql
ls /var/lib/mysql/* # verificar se este é o diretório de dados correto primeiro
sudo find /var/lib/mysql -mindepth 1 -delete # esvaziar o diretório de dados; snapshots devem existir (ver Limitações)
…
Perguntas frequentes
O que é um banco de dados relacional?
É um tipo de banco de dados que organiza dados em tabelas com linhas e colunas, permitindo relacionar informações entre si.
O que é replicação de banco de dados?
É o processo de copiar dados de um banco de dados para outro, geralmente para melhorar o desempenho ou a disponibilidade.
O que é 'mysqldump'?
É uma ferramenta que cria uma cópia de segurança lógica do seu banco de dados, exportando os dados e a estrutura em formato de texto.
Detalhes
Descrição original do autor
Administer MySQL/MariaDB databases. Configure replication and optimize performance. Use when managing MySQL deployments.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3651
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
clickhouse-io
Ajuda seu agente a otimizar consultas e esquemas no banco de dados ClickHouse. Ele aplica as melhores práticas para cargas de trabalho analíticas de alta performance. Use quando consultas analíticas demoram muito.
affaan-m/ECC
scientific-db-pubmed-database
Ajuda seu agente a buscar artigos científicos na área biomédica. É útil para pesquisas que precisam de informações médicas específicas.
affaan-m/ECC
scientific-db-uspto-database
Permite ao agente consultar dados oficiais de patentes e marcas registradas dos EUA. É útil para pesquisas de propriedade intelectual.
affaan-m/ECC