Sproc verdwenen? (MySQL): verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
Regel 15: Regel 15:
 
* 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
 
* 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
 
* <code>mysqlcheck --auto-repair -A -u <...> -p<...></code> - Hielp niet
 +
* <code>show create procedure sq</code> - Hielp niet
  
 
== Aanvullende gegevens ==
 
== Aanvullende gegevens ==

Versie van 14 mrt 2018 23:40

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
  • show create procedure sq - Hielp niet

Aanvullende gegevens

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

Bronnen