RowDeck: MySQL® Monitor per iPhone

Vedi cosa va a fuoco nel tuo MySQL. Spegnilo.

Ti arriva un alert di notte e il portatile è rimasto a casa? RowDeck si apre su Salute, trova la transazione che tiene il lock e conta le sessioni ferme dietro di essa. Termina il thread giusto dall’iPhone, poi correggi la causa alla scrivania.

Free Pro 14,99 USD una tantum MySQL 8.0+ e MariaDB 10.5+ iOS 17+ iPhone

Guarda un incidente in quattro schermate
Funziona con MySQL 8.0 e successiviMariaDB 10.5 e successiviPercona Server for MySQLAmazon RDSAurora MySQLI tuoi server
Alle 3 di notte

Dall’alert allo sblocco in quattro schermate.

La demo integrata riproduce un incidente comune su MySQL. Una transazione dimenticata tiene un lock di riga su shop.orders, una migrazione aspetta dietro di essa e otto sessioni si mettono in coda. Scegli un passaggio per vederne la schermata.

Provalo senza server: nella schermata Connessioni tocca Esplora i dati demo. Non serve un account, e le azioni Pro girano sui dati di esempio.

Schermata Salute di prod-shop in stato Critico: Bloccate mostra 8 in attesa, connessioni 112 su 151, la query più lunga a 09:12
Salute · Critico · 8 in attesa
  • Lock di riga

    Le attese di lock di InnoDB raggruppate sotto il thread che tiene il lock, con l’SQL che ciascuna sessione esegue e da quanto aspetta.

  • Metadata locks

    La coda di ALTER TABLE: chi aspetta un metadata lock su una tabella, quale transazione lo tiene e un pulsante per annullare invece l’ALTER in attesa.

  • Deadlocks

    L’ultimo deadlock di InnoDB: chi aspettava cosa e di quale transazione ha fatto il rollback.

  • Terminare su Amazon RDS

    Niente permessi di KILL su Amazon RDS o Aurora? RowDeck chiama mysql.rds_kill e indica il percorso nella conferma.

Purge e gonfiore

Tieni d’occhio AUTO_INCREMENT prima che gli INSERT inizino a fallire.

Purge e gonfiore mostra quanto hai usato di ogni intervallo di auto-increment, quanto è rimasto indietro il purge e quali tabelle e indici occupano spazio per niente.

  • Margine per colonna. Al 93% dell’intervallo INT di order_items.id, RowDeck avvisa che alla fine ogni INSERT fallisce e copia l’ALTER che allarga la colonna.
  • History list length, con la transazione più vecchia, quella che impedisce a InnoDB di fare il purge delle vecchie versioni delle righe.
  • Tabelle frammentate e indici inutilizzati o duplicati, con lo spazio che occupa ciascuno.
  • Esegui ANALYZE TABLE dall’elenco, o OPTIMIZE TABLE dopo aver digitato il nome della tabella. Le istruzioni DROP INDEX e ALTER vanno negli appunti, e decidi tu quando eseguirle. PRO
Schermata Purge e gonfiore: order_items.id al 93% del suo intervallo INT con l’avviso che alla fine ogni INSERT fallisce, un ritardo di purge di 1,2 M e la transazione più vecchia
Dentro l’app

Ogni schermata che apri durante un incidente su MySQL.

Salute in primo piano e una schermata nativa dietro ogni riquadro, così eviti il prompt di mysql sulla tastiera del telefono. La console SQL copre il resto e controlla ogni istruzione prima di eseguirla.

  • Salute

    Un verdetto e dieci riquadri con soglie: connessioni rispetto a max_connections, thread bloccati, query più lunga, query al secondo, hit del buffer pool, ritardo di purge, margine di auto-increment, deadlock, replica e disco. Si aggiorna ogni 10 secondi mentre la guardi, in modalità scura o chiara come iOS.

    Schermata Salute con l’aspetto chiaro dell’app: Critico, 8 in attesa, connessioni 112 su 151
  • Attività

    Ogni thread del processlist, prima quelli in attesa. Filtra per in esecuzione, in transazione, oltre 10 s o in attesa, oppure raggruppa i thread per client.

  • Replica

    Vista dalla replica: thread IO e SQL, ritardo e l’errore che ha fermato un canale. Sulla sorgente: le repliche connesse e lo spazio occupato dai binlog.

  • Query lente

    Digest delle istruzioni da performance_schema, ordinati per tempo totale, tempo medio, chiamate o righe esaminate.

  • Archiviazione

    Gli schemi, le tabelle e gli indici più grandi, suddivisi in dati, indici e spazio libero.

  • Dati

    Sfoglia le tabelle, filtra sul server, segui le chiavi esterne, esporta una pagina in CSV o copiala come JSON. La modifica delle righe arriva con Pro.

  • Console SQL

    Il classificatore etichetta ogni istruzione mentre scrivi: Lettura, Scrittura, DDL o Distruttivo. Free esegue le letture; Pro esegue il resto.

  • PRO

    Assistente AI sul tuo modello

    Spiega un incidente o una catena di lock e prepara la correzione. Legge uno snapshot filtrato, ti mostra cosa invierà e non esegue nulla da solo. Gratis sulla demo.

    • Anthropic
    • OpenAI
    • OpenRouter
    • Z.ai
    • Server compatibile con OpenAI
    • Ollama sulla tua rete
Prima che qualcosa scriva

Quattro controlli tra il tuo pollice e il server.

RowDeck li verifica in ordine. Un no a qualsiasi passaggio ferma l’azione, e niente arriva a MySQL.

  1. Pro

    Free non scrive mai sul tuo server.

  2. Connessione in sola lettura

    Segna una connessione come Read-only e le scritture si fermano lì, anche con Pro, finché non le sblocchi per la sessione.

  3. Classificatore

    Viene eseguito su ogni istruzione, in Free e in Pro.

  4. La tua conferma

    Un’anteprima con obiettivo, schema, connessione e badge PROD. I passaggi distruttivi, e la terminazione di un thread su una connessione Production, aspettano che tu digiti l’obiettivo.

Cosa ha visto il classificatore prod-shop PROD
SELECT * FROM orders WHERE id = 4820118; Lettura
UPDATE orders SET status = 'shipped' WHERE id = 4820118; Scrittura
CREATE INDEX idx_orders_total ON orders (total); DDL
TRUNCATE TABLE shop.sessions; Distruttivo
  • Attraverso il tuo bastion

    SSH con password, codice monouso o chiave: Ed25519, ECDSA o RSA in formato OpenSSH, PEM, PKCS#8 o PuTTY, oppure una chiave Secure Enclave. Fino a due host di salto dietro il bastion.

  • TLS fissato

    RowDeck mostra l’impronta SHA-256 del certificato del server alla prima connessione e si ferma se in seguito cambia.

  • Keychain e Face ID

    Password, chiavi e impronte vivono nell’iOS Keychain di questo iPhone. L’app si apre con Face ID.

  • Onesto senza PROCESS

    Senza questo privilegio, MySQL ti mostra solo i tuoi thread. RowDeck te lo dice e ti dà la correzione:

    GRANT PROCESS ON *.* TO 'oncall'@'%';
Schermate

RowDeck 1.0 sui dati demo integrati.

Schermata Salute: Critico, 8 in attesa, dieci riquadri

Salute L’incidente prima di aprire il portatile.

Albero della schermata Lock con due radici di blocco e un ALTER TABLE in attesa di un metadata lock

Lock Lock di riga e metadata lock in un unico albero.

Foglio “Termina la connessione bloccante” con l’ID del thread digitato per confermare

Termina la connessione Vedi cosa sblocca prima di confermare.

Schermata Attività con i filtri In esecuzione, In trans., > 10 s, In attesa e Tutte

Attività Prima i thread in attesa.

Purge e gonfiore: sei indici inutilizzati che occupano 34 GB, con “Copia query DROP INDEX”

Indici Indici inutilizzati e duplicati, con DROP INDEX copiato per te.

Schermata Replica su una replica: thread IO e SQL in esecuzione, 4,2 s dietro la sorgente

Replica Stato del canale e transazioni da applicare.

Query lente ordinate per tempo totale, con chiamate, tempo medio e righe esaminate

Query lente Ordinate per tempo totale.

Schermata Archiviazione: 412 GB di dati e indici, gli schemi e le tabelle più grandi

Archiviazione Le tabelle e gli indici più grandi.

Scheda Dati di shop.orders con un filtro per gli ordini in sospeso

Dati Filtra sulla pagina o sul server.

Console SQL con una query di lettura su performance_schema e il suo risultato

Console SQL Ogni istruzione classificata.

Console SQL con CREATE INDEX classificato come DDL che esegue il commit di qualsiasi transazione aperta

DDL Cosa ha visto il classificatore prima dell’esecuzione.

Risposta dell’assistente su una transazione dimenticata che tiene un lock di riga, con i thread da terminare suggeriti

Assistente Il tuo modello, ogni azione la decidi tu.

Modulo di nuova connessione con un tunnel SSH attraverso un bastion e l’importazione della chiave

Tunnel SSH Con la tua chiave e i tuoi host di salto.

Salute L’incidente prima di aprire il portatile.

Prezzi

Il monitoraggio è gratis. Pro è un acquisto unico.

Punta RowDeck sul tuo server di produzione e usa gratis ogni schermata di monitoraggio. Paghi 14,99 USD una volta, la notte in cui devi agire.

Free

per sempre

0 USD

Vedi tutto su un server.

  • Una connessione salvata. La demo e una replica aperta dalla sua sorgente non contano.
  • Salute, Attività, Lock, Purge e gonfiore, Replica, Archiviazione e Query lente
  • TLS con impronta fissata, tunnel SSH e Face ID
  • Browser dei dati con filtri lato server, chiavi esterne, esportazione CSV e copia JSON
  • SQL in sola lettura con il classificatore

Pro

acquisto una tantum

14,99 USD

Agisci su qualsiasi server.

  • Connessioni salvate illimitate
  • Terminare query e connessioni, sbloccare una catena bloccata
  • Eseguire ANALYZE TABLE e OPTIMIZE TABLE
  • Scritture, DDL e modifica delle righe, dietro conferme
  • L’assistente AI con la tua chiave o il tuo Ollama

Niente abbonamento e niente account. La demo ti permette di provare ogni azione Pro sui dati di esempio prima di comprare. Ripristina acquisti si trova nella schermata di Pro e in Impostazioni. Fuori dagli Stati Uniti, App Store mostra il prezzo nella tua valuta.

Free Pro 14,99 USD una tantum MySQL 8.0+ e MariaDB 10.5+ iOS 17+ iPhone

FAQ

Domande su RowDeck e MySQL

Manca qualcosa? Scrivi a support@rowdeck.app.

Funziona con Amazon RDS, Aurora o i miei server?

RowDeck funziona con MySQL 8.0 o successivi e MariaDB 10.5 o successivi raggiungibili dal tuo iPhone, self-hosted o gestiti, inclusi Amazon RDS e Aurora MySQL. Funziona anche Percona Server for MySQL.

Su Amazon RDS e Aurora, dove un amministratore non può fare KILL sui thread di altri utenti, RowDeck chiama la procedura del provider, mysql.rds_kill. Dietro un proxy non invia alcun KILL, perché l’ID del thread potrebbe appartenere a un altro server, e ti dà l’istruzione da eseguire direttamente sul server.

MySQL 5.7 e MariaDB prima della 10.5 sono fuori dall’intervallo supportato, e TiDB usa tabelle di monitoraggio diverse. L’app te lo dice quando ti connetti.

Può raggiungere un database dietro un bastion?

Sì. Attiva il tunnel SSH nella connessione e accedi al bastion con una password, una chiave o una chiave Secure Enclave creata su questo iPhone. Le chiavi possono essere Ed25519, ECDSA o RSA in formato OpenSSH, PEM, PKCS#8 o PuTTY, con o senza passphrase. I codici monouso funzionano quando il server li chiede.

Se il bastion sta dietro un altro host, aggiungi fino a due host di salto. RowDeck fissa la chiave di ogni host alla prima connessione e si rifiuta di proseguire se una cambia.

Le mie credenziali o i miei dati lasciano l’iPhone?

RowDeck si connette direttamente al tuo server o tramite il tuo bastion. In mezzo non c’è nessun server RowDeck, e non serve un account. Password e chiavi restano nell’iOS Keychain.

I report di crash vanno a Sentry e le statistiche di utilizzo al nostro server di analisi dopo che tocchi Fine nella prima schermata, dove entrambi gli interruttori partono attivi. Puoi disattivare l’uno o l’altro lì, o più tardi in Impostazioni › Privacy. Nessuno dei due contiene il tuo SQL, nomi di schemi, tabelle o colonne, nomi host, valori o credenziali. I dettagli sono nell’informativa sulla privacy.

Serve SUPER o un account amministratore?

No. Le schermate di monitoraggio richiedono permessi in sola lettura, e il modulo di connessione li elenca per MySQL e per MariaDB. Il più importante è PROCESS: senza, MySQL ti mostra solo i tuoi thread, e RowDeck lo dice in ogni schermata invece di mostrare un elenco vuoto.

Le azioni Pro richiedono CONNECTION_ADMIN per terminare i thread di altri utenti; su Amazon RDS e Aurora, RowDeck usa invece la procedura di kill del provider. Una metrica che il server nasconde mostra un motivo, mai uno zero.

KILL QUERY o KILL CONNECTION: quale scegliere?

KILL QUERY ferma l’istruzione in esecuzione e mantiene la connessione e la sua transazione. KILL CONNECTION chiude la connessione e fa il rollback della sua transazione aperta.

Un thread in Sleep dentro una transazione aperta non esegue nessuna istruzione, quindi KILL QUERY non cambia nulla e i suoi lock restano. RowDeck legge cosa sta facendo la radice e propone la terminazione che libera la coda.

RowDeck può rompere il mio database?

Free non scrive mai: le letture della console girano dentro una transazione in sola lettura. Con Pro, ogni scrittura deve superare quattro controlli, in ordine: Pro, l’interruttore Read-only della connessione, il classificatore e la tua conferma. Le istruzioni distruttive aspettano che tu digiti l’obiettivo, e una connessione segnata come Production riceve il badge PROD e conferme più severe.

RowDeck copia per te DROP INDEX e ALTER … BIGINT e lascia a te la loro esecuzione. Non fa il purge dei binlog né salta una transazione su una replica, e non chiede mai al server LOAD DATA LOCAL né più istruzioni in una sola chiamata.

Perché non collegarsi in SSH e lanciare mysql?

Puoi farlo. Alle 3 di notte, sulla tastiera di un telefono, RowDeck ti risparmia le join tra performance_schema e information_schema: l’albero dei lock, l’ALTER in attesa e la transazione che lo blocca sono a un tocco da Salute.

Cosa vede l’assistente AI?

Uno snapshot filtrato della schermata su cui hai fatto la domanda. Host, porta, indirizzi IP, nomi delle connessioni e password non escono mai, e nemmeno i valori dentro le istruzioni. Per i modelli cloud, i nomi di schemi, tabelle e colonne escono come segnaposto tipo table_1, e RowDeck rimette i nomi reali sul tuo iPhone.

Le richieste vanno dal tuo iPhone al provider che hai scelto, con la tua chiave (Anthropic, OpenAI, OpenRouter, Z.ai o qualsiasi endpoint compatibile con OpenAI), oppure al tuo Ollama. Vedi cosa riceverà il modello prima di inviarlo. L’assistente fa parte di Pro, è gratis sulla demo e lascia a te l’esecuzione dell’SQL.

C’è un abbonamento?

No. Pro è un unico acquisto da 14,99 USD legato al tuo account Apple. Il monitoraggio resta gratis, senza account e senza prove a tempo.

Mi avvisa quando qualcosa si rompe?

No. RowDeck non lavora in background e non sorveglia i server quando è chiusa. Tieni il tuo sistema di alert dov’è: RowDeck è la schermata che apri dopo l’alert.

Funziona su iPad?

Abbiamo pensato RowDeck per iPhone, in verticale. Non ha un layout dedicato per iPad.

Amazon Web Services, AWS, Amazon RDS e Amazon Aurora sono marchi di Amazon.com, Inc. o delle sue affiliate. RowDeck non è affiliata ad Amazon né da essa approvata.

Guide

Guide per gli incidenti su MySQL.

I problemi che ti svegliano di notte, una pagina per ciascuno: l’SQL da eseguire a mano e cosa mostra RowDeck.

Le guide e il blog sono in inglese.

Tienilo sul telefono prima del prossimo incidente.

Aggiungi un server, fissa il suo certificato e ogni schermata di monitoraggio resta gratis. Pro sblocca le azioni per la notte in cui ti servono.

Free Pro 14,99 USD una tantum MySQL 8.0+ e MariaDB 10.5+ iOS 17+ iPhone