Sproc verdwenen? (MySQL): verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
(Nieuwe pagina aangemaakt met 'In maart 2018 crashte MySQL Workbench. Na herstarten leek de sproc waar ik op dat moment in werkte, verdwenen te zijn. Hoe zit dat? == Brainstorm: Oorzaak & oploss...')
 
Regel 10: Regel 10:
 
* Bestaat er zoiets als db-recovery na een crash?
 
* Bestaat er zoiets als db-recovery na een crash?
 
* Bestand dat hoort bij ''mysql.proc'' bekijken
 
* Bestand dat hoort bij ''mysql.proc'' bekijken
 +
 +
== Oplossingen & acties ==
 +
 +
* Ik heb de code teruggevonden in ''/var/lib/mysql/mysql/proc.MYD'' rond regel 31.027 → Gekopiëerd. Nu heb ik tenminste een primitieve backup
 +
* <code>mysqlcheck --auto-repair -A -u <...> -p<...></code> - Hielp niet
 +
 +
== Aanvullende gegevens ==
 +
 +
* Sprocs worden opgeslagen in de ''sproc''-table van de mysql-systeemdatabase
 +
 +
== Bronnen ==
 +
 +
* https://www.a2hosting.com/kb/developer-corner/mysql/repairing-mysql-databases-and-tables
 +
* https://dba.stackexchange.com/questions/95529/mysql-workbench-not-showing-stored-procedures-that-i-have-created

Versie van 15 mrt 2018 01:31

In maart 2018 crashte MySQL Workbench. Na herstarten leek de sproc waar ik op dat moment in werkte, verdwenen te zijn. Hoe zit dat?

Brainstorm: Oorzaak & oplossing

  • Ik las ergens dat Workbench het probleem kon zijn, en dat updaten van Workbench de oplossing zou kunnen zijn
  • Met mysqldump --routines backup maken en daarin de sproc terugvinden → Geen resultaten
  • Met mysql-client-commando show procedure status; de sproc terugvinden → Geen resultaten
  • mysql-client: sproc aanroepen → Geen resultaten
  • In bestanden op schijf zoeken
  • Bestaat er zoiets als db-recovery na een crash?
  • Bestand dat hoort bij mysql.proc bekijken

Oplossingen & acties

  • Ik heb de code teruggevonden in /var/lib/mysql/mysql/proc.MYD rond regel 31.027 → Gekopiëerd. Nu heb ik tenminste een primitieve backup
  • mysqlcheck --auto-repair -A -u <...> -p<...> - Hielp niet

Aanvullende gegevens

  • Sprocs worden opgeslagen in de sproc-table van de mysql-systeemdatabase

Bronnen