Αυτό το σεμινάριο επιλύει το σφάλμα που εμφανίζεται κατά την εισαγωγή αρχείων .sql μέσω της γραμμής εντολών. Εισαγωγή αρχείου .SQL Error - MySQL server has gone away.
Όταν πρέπει εισαγόμενα αρχεία .SQL μεγάλο σε ένα τη βάση δεδομένων, η κλασική μέθοδος μέσω phpMyAdmin δεν είναι μια πολύ καλή λύση. Τις περισσότερες φορές συναντάμε ένα «reqest timeout". Εισαγωγή .SQL Αρχεία Error - MySQL server has gone away.
Το πιο απλό είναι να συνδεθείς SSH / κονσόλα στον διακομιστή που περιέχει τη βάση δεδομένων, ας ανεβάσουμε το αρχείο .sql και στη συνέχεια εκτελέστε τις συγκεκριμένες γραμμές εντολών για εισαγωγή.
mysql -u db_user -p -h localhost db_name < /path/sql_file.sql
Εάν μετά την εκτέλεση της γραμμής εντολών και την εισαγωγή του κωδικού πρόσβασης της βάσης δεδομένων αντιμετωπίζετε το σφάλμα:ERROR 2006 (HY000) at line 1281: MySQL server has gone away", τις περισσότερες φορές πρόκειται για υπέρβαση ενός ορίου όγκου για τα εισαγόμενα αρχεία.
Είναι πολύ πιθανό ότι στις τυπικές διαμορφώσεις του MySQL, το όριο όγκου που καθορίζεται σε "max_allowed_packet" θα πρέπει να είναι μικρότερο από αυτό του αρχείου που θέλετε να εισαγάγετε στη βάση δεδομένων.
Η απλούστερη λύση είναι να επεξεργαστείτε το αρχείο "my.cnf” και να ορίσουμε ένα όριο κατάλληλο για τις ανάγκες μας. Για παράδειγμα, αν θέλουμε να εισάγουμε ένα αρχείο .SQL των 320 MB, στη συνέχεια επεξεργαζόμαστε το αρχείο "my.cnfΚαι προσθέτουμε τη γραμμή:
max_allowed_packet=400M
Μετά την επεξεργασία και την αποθήκευση, επανεκκινήστε την υπηρεσία mysql στον διακομιστή και επανεκκινήστε τη γραμμή εντολών για εισαγωγή. Όλα θα πρέπει να λειτουργούν χωρίς Εισαγωγή αρχείου .SQL Error - MySQL server has gone away.