Pular para o conteúdo
Skillpedia
Bancos de dados48 mil · #3651

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/mysql/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/mysql/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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 mysql

Ou 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.md
Conteú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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3651
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas