QueryDog

Support

Schrijf ons als iets niet werkt of niet duidelijk is. Hieronder staan de antwoorden op wat het eerst gevraagd wordt.

info@querydog.nl

In het Nederlands of Engels. Het helpt als we het apparaat weten, de versie van de app (Settings › About) en de versie van je server.

Welke servers werken

QueryDog werkt met MySQL en MariaDB. Inloggen gaat met mysql_native_password en met caching_sha2_password, de standaard sinds MySQL 8. Vraagt een server om een andere manier van inloggen, dan weigert de app de verbinding met een melding die dat zegt.

Is de verbinding versleuteld?

Via een SSH-tunnel wel: alles tussen de app en de server gaat door de tunnel. Een directe verbinding is niet versleuteld, want QueryDog gebruikt geen TLS naar de databaseserver. Gebruik een directe verbinding op je eigen netwerk of je eigen machine, en voor al het andere een tunnel.

Een server die alleen TLS-verbindingen aanneemt is direct niet te bereiken. Kun je er met SSH bij, dan werkt een tunnel wel.

De app krijgt geen verbinding

  • Bij een tunnel is de host van de database de naam waaronder de SSH-server hem kent. Staat de database op dezelfde machine, dan is dat 127.0.0.1.
  • Voor een directe verbinding moet de server op het netwerk luisteren, en moet de gebruiker vanaf jouw adres mogen inloggen. Een gebruiker die is aangemaakt als 'naam'@'localhost' mag dat niet.

SSH-sleutels

Sleutels staan onder Connections › SSH keys. Eén sleutel is de standaard; elke verbinding gebruikt die, tenzij je er voor die verbinding een andere kiest.

Een sleutel maken

  1. Open Connections › SSH keys en kies Generate new key…. De app maakt op het apparaat een ed25519-sleutel.
  2. Kies Copy public key.
  3. Zet die regel in ~/.ssh/authorized_keys van de gebruiker, op elke server waar het apparaat bij moet kunnen.

Heb je een Ploi-account gekoppeld, dan kan de app de publieke sleutel voor je op je servers zetten.

Een sleutel gebruiken die je al hebt

Add key file… neemt een privésleutel in OpenSSH-formaat aan, ed25519 of RSA, met of zonder wachtwoordzin. De wachtwoordzin wordt bij de sleutel in de Keychain bewaard.

Een oudere RSA-sleutel, een bestand dat begint met BEGIN RSA PRIVATE KEY, werkt als er geen wachtwoordzin op zit. Zit die er wel op, schrijf het bestand dan eerst om naar het nieuwere formaat. Dat verandert het bestand zelf, dus maak eerst een kopie:

ssh-keygen -p -f ~/.ssh/id_rsa

Waar sleutels staan

Een privésleutel staat in de Keychain van het apparaat, niet in een bestand van de app. Hij gaat niet mee in de iCloud-sync: zie hieronder.

iCloud-sync

Sync staat standaard aan. Je schakelt het onder Settings › iCloud › Sync with iCloud. Met Sync now in hetzelfde paneel haal je de wijzigingen van je andere apparaten meteen op. De apparaten moeten hetzelfde Apple Account gebruiken.

Gaat mee
Verbindingen, de namen en vingerafdrukken van je SSH-sleutels, welke sleutel de standaard is, gekoppelde Ploi-accounts, het querylog, en de voorkeuren voor datums, sorteren, bewerken, veiligheid, en import en export.
Via iCloud-sleutelhanger
Wachtwoorden, wachtwoordzinnen en de API-sleutel van Ploi. iCloud-sleutelhanger moet op elk apparaat aanstaan, in de iCloud-instellingen van het apparaat.
Gaat nooit mee
Privé-SSH-sleutels. Ook op het apparaat blijven: de sleutel die je alleen voor dat apparaat koos, de plaats en breedte van de zijbalk, het aantal rijen per pagina en de kolombreedtes.

Een nieuw apparaat vraagt om een SSH-sleutel

Omdat privésleutels blijven waar ze zijn, heeft een tweede apparaat wel de verbindingen maar niet de sleutel. Bij het openen vraagt de app er een te kiezen: maak op dat apparaat een nieuwe sleutel en zet de publieke helft op je servers, of voeg het sleutelbestand toe dat je elders gebruikt.

Op een ander apparaat ontbreken de wachtwoorden

Dan staat iCloud-sleutelhanger op een van de twee uit. Zet het op allebei aan en geef het een paar minuten.

De aankoop

QueryDog is gratis met twee verbindingen. Met één eenmalige aankoop is dat onbeperkt, op elke Mac, iPhone en iPad die je Apple Account gebruikt. Het is geen abonnement.

Je aankoop herstellen

De app vraagt het bij elke start aan de App Store, dus op een nieuw apparaat is de aankoop er meestal vanzelf. Is dat niet zo:

  1. Kijk of het apparaat bij de App Store is ingelogd met het Apple Account waarmee je kocht.
  2. Open in QueryDog Settings en dan Unlimited.
  3. Kies Restore Purchase.

Wat gebeurt er met mijn verbindingen zonder de aankoop?

Niets. De grens geldt voor toevoegen: verbindingen die je hebt blijven werken, ook als het er meer dan twee zijn, bijvoorbeeld na een sync vanaf een ander apparaat.

Geld terug

De App Store regelt de betaling en de terugbetaling. Je vraagt die aan op reportaproblem.apple.com.

Tabellen en query's

Een tabel is niet te bewerken

Bewerken vraagt om een primaire sleutel: daarmee vertelt de app de server welke rij je bedoelt. Een tabel zonder opent om te lezen, met de melding “No primary key”.

“… is read-only”

De verbinding staat op alleen-lezen. De app weigert dan elk statement dat gegevens of structuur wijzigt, en elke import en elk script. De schakelaar staat in de instellingen van de verbinding, onder Safety & appearance.

De app vraagt om bevestiging voordat mijn query draait

Dat doet hij bij een UPDATE of DELETE zonder WHERE, een DROP en een TRUNCATE. Onder Settings › Safety kies je of dat voor alle verbindingen geldt, alleen voor de verbindingen die je als productie hebt gemarkeerd, of voor geen enkele.

Cancel stopt de query niet

Cancel stuurt KILL QUERY over een tweede verbinding. De server bepaalt of jouw gebruiker dat mag.

Meerdere statements draaien

Het querytabblad draait één statement per keer. Gebruik voor een script of een dump Run SQL file…, op een verbinding of een database in de zijbalk.

Verbindingen verhuizen en bewaren

Onder Settings › Connections staan Export… en Import…. Een import voegt verbindingen toe en vervangt er geen.

Op een export moet je zuinig zijn: de wachtwoorden en de privé-SSH-sleutels van de verbindingen staan er leesbaar in. Bewaar het bestand op een veilige plek en verwijder het zodra de import klaar is.