Sproc verdwenen? (MySQL): verschil tussen versies
Naar navigatie springen
Naar zoeken springen
Regel 19: | Regel 19: | ||
* <code>repair table mysql.proc;</code> - Hielp niet | * <code>repair table mysql.proc;</code> - Hielp niet | ||
* <code>mysqldump -n -d -t --routines --all-databases > sprocalot.sql</code> - Hielp niet | * <code>mysqldump -n -d -t --routines --all-databases > sprocalot.sql</code> - Hielp niet | ||
+ | * <code>sudo mysql_upgrade</code> - Hielp niet | ||
== Aanvullende gegevens == | == Aanvullende gegevens == |
Versie van 15 mrt 2018 00:06
In maart 2018 crashte MySQL Workbench. Na herstarten leek de sproc waar ik op dat moment in werkte (genaamd sq
), 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 nietshow create procedure sq
- Hielp nietselect name from mysql.proc;
- Hielp nietrepair table mysql.proc;
- Hielp nietmysqldump -n -d -t --routines --all-databases > sprocalot.sql
- Hielp nietsudo mysql_upgrade
- Hielp niet
Aanvullende gegevens
- Sprocs worden opgeslagen in de sproc-table van de mysql-systeemdatabase
select * from mysql.proc;
- Hierin kan ik de sproc terugzien
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
- https://stackoverflow.com/questions/41838372/cant-open-stored-procedures-with-mysql-workbench
- https://dba.stackexchange.com/questions/4086/dump-only-the-stored-procedures-in-mysql/4089#4089