Πώς να ανοίξετε ένα μεγάλο αρχείο SQL dump σε Mac (χωρίς crash)

Κάνετε διπλό κλικ σε ένα export .sql 20–50 GB και ο editor σας κολλάει, παγώνει και μετά πεθαίνει. Δεν μπορείτε καν να ανοίξετε το αρχείο — πόσο μάλλον να αφαιρέσετε έναν φουσκωμένο πίνακα. Δείτε γιατί οι editors δεν αντέχουν, τις λύσεις μέσω γραμμής εντολών, και έναν πιο γρήγορο τρόπο.

Ένα dump βάσης δεδομένων παραγωγής μπορεί εύκολα να φτάσει τις δεκάδες gigabyte. Τη στιγμή που προσπαθείτε να το ανοίξετε σε έναν κανονικό επεξεργαστή κειμένου, ο ανεμιστήρας του Mac σας ανεβάζει στροφές, εμφανίζεται ο κύκλος αναμονής, και τελικά η εφαρμογή κλείνει — παίρνοντας μερικές φορές μαζί της μη αποθηκευμένη εργασία από άλλα παράθυρα.

Γιατί οι editors δεν αντέχουν τα μεγάλα dumps

Το VS Code, το TextEdit, το Sublime Text και τα υπόλοιπα είναι σχεδιασμένα να φορτώνουν ολόκληρο το αρχείο στη μνήμη ώστε να μπορούν να κάνουν κύλιση, αναζήτηση και επισήμανση ακαριαία. Αυτό είναι εντάξει για ένα αρχείο κώδικα 2 MB. Για ένα dump 40 GB σημαίνει ότι ο editor προσπαθεί να δεσμεύσει 40 GB (συν επιβάρυνση για τις εσωτερικές δομές δεδομένων του) στη RAM.

Το Mac σας έχει 16 ή 32 GB. Πολύ πριν φορτωθεί πλήρως το αρχείο, το σύστημα ξεμένει από φυσική μνήμη, αρχίζει να κάνει swapping στον δίσκο, και παγώνει. Οι περισσότεροι editors επίσης αρνούνται εντελώς: το VS Code περιορίζει τα αρχεία γύρω στα 50 MB για τον πλήρη editor και μεταβαίνει σε μια απλοποιημένη λειτουργία, το TextEdit απλώς κρεμάει, και το Sublime δεσμεύει μνήμη μέχρι να κρασάρει. Ακόμη κι αν καταφέρετε να ανοίξετε το αρχείο, η επισήμανση σύνταξης και η αναζήτηση θα σαρώνουν ξανά gigabyte σε κάθε πάτημα πλήκτρου.

Το βασικό πρόβλημα: αυτά τα εργαλεία υποθέτουν τυχαία πρόσβαση σε ολόκληρο το έγγραφο. Ένα dump δεν το χρειάζεται αυτό — είναι μια διαδοχική λίστα εντολών. Χρειάζεται μόνο να το διαβάσετε με streaming.

Ο τρόπος της γραμμής εντολών

Τα εργαλεία Unix στο Mac σας ήδη κάνουν streaming, οπότε ποτέ δεν φορτώνουν ολόκληρο το αρχείο. Είναι η κλασική πρώτη λύση:

# Ρίξτε μια ματιά στις πρώτες και τελευταίες γραμμές χωρίς άνοιγμα όλου του αρχείου
head -n 50 dump.sql
tail -n 50 dump.sql

# Χωρίστε το dump σε κομμάτια 100 MB με ονόματα part_aa, part_ab, ...
split -b 100m dump.sql part_

# Απομονώστε το μπλοκ ενός πίνακα ανάμεσα σε δύο δείκτες
sed -n '/CREATE TABLE `users`/,/UNLOCK TABLES/p' dump.sql > users.sql

Αυτό λειτουργεί, αλλά είναι εύθραυστο και κουραστικό. Το split -b κόβει σε ακατέργαστα όρια byte, οπότε θα κόψει κατευθείαν στη μέση μιας εντολής INSERT — τα κομμάτια που προκύπτουν δεν είναι έγκυρη SQL από μόνα τους. Το κόλπο με το εύρος του sed εξαρτάται από τους ακριβείς δείκτες που τυχαίνει να εκπέμπει ένα συγκεκριμένο εργαλείο dump· αλλάξτε την έκδοση της MySQL ή περάστε σε PostgreSQL και το μοτίβο δεν ταιριάζει πλέον. Και τίποτα από αυτά δεν σας δίνει μια εικόνα του τι πραγματικά υπάρχει μέσα στο αρχείο — μαντεύετε ποιος πίνακας είναι αυτός των 30 GB πριν καν μπορέσετε να τον στοχεύσετε.

Ανοίξτε και φιλτράρετέ το με το DumpCleaner

Το DumpCleaner φτιάχτηκε ακριβώς για αυτό το μέγεθος αρχείου. Κάνει streaming το dump όπως η γραμμή εντολών, αλλά κατανοεί τη δομή της SQL, οπότε παίρνετε μια πραγματική λίστα πινάκων και ασφαλή έξοδο με επίγνωση των εντολών:

  1. Σύρετε το αρχείο μέσα. Το DumpCleaner ανοίγει το dump κάνοντάς το streaming σε κομμάτια ~1 MB — ένα αρχείο 50 GB ανοίγει με περίπου 50 MB RAM, οπότε τίποτα δεν παγώνει.
  2. Δείτε κάθε πίνακα. Σαρώνει το dump και παραθέτει κάθε πίνακα με το μέγεθός του, ώστε να εντοπίσετε αμέσως ποιος φουσκώνει το αρχείο.
  3. Αποεπιλέξτε ό,τι δεν χρειάζεστε. Ξετσεκάρετε τους τεράστιους πίνακες logs, sessions ή analytics. Το DumpCleaner διατηρεί ολόκληρες τις εντολές — κανένα μισο-κομμένο INSERT.
  4. Εξαγωγή. Γράψτε ένα νέο, μικρότερο αρχείο .sql που επιτέλους ανοίγει και εισάγεται άνετα. Το αρχικό σας αρχείο δεν τροποποιείται ποτέ.

Επειδή επεξεργάζεται dumps 50 GB και μεγαλύτερα με σταθερή μνήμη, δεν χρειάζεται να σκέφτεστε καθόλου τη RAM του Mac σας. Και αφού διαβάζει την πηγή και γράφει ξεχωριστή έξοδο, το dump με το οποίο ξεκινήσατε παραμένει ακριβώς όπως ήταν.

Ανοίξτε dumps που ο editor σας δεν μπορεί

Το DumpCleaner κάνει streaming SQL dumps οποιουδήποτε μεγέθους με σταθερή μνήμη — χωρίς crash, χωρίς swap, χωρίς αναμονή. Σύρετε ένα αρχείο 50 GB, αφαιρέστε τους πίνακες που δεν χρειάζεστε, εξάγετε ένα μικρότερο. Εγγενής εφαρμογή macOS & iPadOS, εφάπαξ αγορά.

Κατεβάστε το από το App Store

Συχνές ερωτήσεις

Πόσο μεγάλο SQL dump μπορεί να διαχειριστεί το DumpCleaner;

Δεν υπάρχει σταθερό όριο. Επεξεργάζεται το αρχείο ως ροή σε μικρά κομμάτια, οπότε dumps 50 GB και μεγαλύτερα λειτουργούν όπως τα μικρά — το μέγεθος περιορίζεται από τον δίσκο σας, όχι από τη RAM.

Φορτώνει το DumpCleaner ολόκληρο το αρχείο στη RAM;

Όχι. Σε αντίθεση με έναν επεξεργαστή κειμένου, διαβάζει το dump σε μικρά κομμάτια και κρατά τη μνήμη περίπου σταθερή γύρω στα 50 MB, είτε το αρχείο είναι 200 MB είτε 50 GB.

Μπορώ να χωρίσω ένα dump ανά πίνακα;

Ναι. Αντί το split να κόβει στα τυφλά σε όρια byte, το DumpCleaner κατανοεί τη δομή των πινάκων. Αποεπιλέξτε τους πίνακες που δεν θέλετε και εξάγετε ένα καθαρό αρχείο μόνο με αυτούς που κρατάτε.

Τροποποιεί το DumpCleaner το αρχικό μου αρχείο;

Όχι. Το πηγαίο dump μόνο διαβάζεται — το DumpCleaner γράφει πάντα ένα νέο αρχείο, οπότε το αρχικό σας παραμένει ανέγγιχτο.

Σταματήστε να παλεύετε με τον editor σας

Σύρετε το τεράστιο dump, αφαιρέστε τους πίνακες που δεν χρειάζεστε, εξάγετε ένα αρχείο που πραγματικά ανοίγει. Το DumpCleaner διαχειρίζεται οποιοδήποτε μέγεθος με σταθερή μνήμη.

Κατεβάστε το από το App Store