Η λύση είναι να τροποποιήσετε το /etc/mysql/my.cnf και να προσθέσετε την ακόλουθη γραμμή: μεταβλητή συνόλου = max_connections=500
Εναλλακτικά, προσθέστε την παράμετρο max_connections=500 στην εντολή εκκίνησης Είναι να τροποποιήσετε τον μέγιστο αριθμό συνδέσεων και, στη συνέχεια, να επανεκκινήσετε τη mysql. Ο προεπιλεγμένος αριθμός συνδέσεων είναι 100, ο οποίος είναι πολύ λίγος, επομένως είναι εύκολο να λάβετε το ίδιο σφάλμα. Ακολουθούν οι οδηγίες για τον ιστότοπό mysql.com: Εάν λάβετε ένα σφάλμα Πάρα πολλές συνδέσεις όταν προσπαθείτε να συνδεθείτε στον διακομιστή mysqld, αυτό σημαίνει ότι όλες οι διαθέσιμες συνδέσεις χρησιμοποιούνται από άλλους πελάτες.
Ο αριθμός των επιτρεπόμενων συνδέσεων ελέγχεται από τη μεταβλητή συστήματος max_connections. Η προεπιλεγμένη τιμή του είναι 100. Εάν χρειάζεται να υποστηρίξετε περισσότερες συνδέσεις, θα πρέπει να επανεκκινήσετε τη mysqld με μεγαλύτερη τιμή για αυτήν τη μεταβλητή.
Η MySQL επιτρέπει πραγματικά στους πελάτες max_connections+1 να συνδεθούν. Η επιπλέον σύνδεση προορίζεται για χρήση από λογαριασμούς που έχουν το προνόμιο SUPER. Παραχωρώντας το προνόμιο SUPER σε διαχειριστές και όχι σε κανονικούς χρήστες (που δεν θα έπρεπε να το χρειάζονται), ένας διαχειριστής μπορεί να συνδεθεί στον διακομιστή και να χρησιμοποιήσει το SHOW PROCESSLIST για να διαγνώσει προβλήματα ακόμα κι αν Ο μέγιστος αριθμός μη προνομιούχων υπολογιστών-πελατών είναι συνδεδεμένος. Δείτε το Τμήμα 13.5.4.19, "ΕΜΦΑΝΙΣΗ σύνταξης PROCESSLIST".
Ο μέγιστος αριθμός συνδέσεων που μπορεί να υποστηρίξει η MySQL εξαρτάται από την ποιότητα της βιβλιοθήκης νημάτων σε μια δεδομένη πλατφόρμα. Το Linux ή το Solaris θα πρέπει να μπορούν να υποστηρίζουν 500-1000 ταυτόχρονες συνδέσεις, ανάλογα με το πόση μνήμη RAM έχετε και τι κάνουν οι πελάτες σας. Τα στατικά δυαδικά αρχεία Linux που παρέχονται από τη MySQL AB μπορούν να υποστηρίξουν έως και 4000 συνδέσεις.
1. Θα μπορούσε να είναι ένα πρόβλημα με τις ρυθμίσεις Max Connections της MySQL 2. Μπορεί να είναι πολλά ένθετα και η λειτουργία ενημέρωσης δεν κλείνει τη συνεδρία και πρέπει να διαμορφώσετε την υποστήριξη συναλλαγών την άνοιξη. Ανάλυση: 1. Τροποποιήστε το χρονικό όριο της συνεδρίας στο tomcat σε 20, (δεν είναι υποχρεωτικό) 2. Παρέχετε υποστήριξη συναλλαγών για μεγάλο όγκο επεξεργασίας λειτουργιών εισαγωγής ή ενημέρωσης βάσης δεδομένων.
=======================================
Εδώ είναι η λύση:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Πάρα πολλές συνδέσεις"
Αίτιο: Επειδή ο κατάλογος εγκατάστασης mysqlmy.iniΟ αριθμός των ταυτόχρονων συνδέσεων που έχουν οριστεί στο σύστημα είναι πολύ μικρός ή το σύστημα είναι απασχολημένο, με αποτέλεσμα ο αριθμός των συνδέσεων να είναι πλήρης Λύση: Ανοίξτε τον κατάλογο εγκατάστασης MYSQL και ανοίξτε MY.INI βρείτε το max_connections (περίπου στη γραμμή 93) η προεπιλογή είναι 100 Γενικά είναι πιο κατάλληλο να το ορίσετε σε 500~1000, να επανεκκινήσετε τη mysql, έτσι ώστε να λυθεί το σφάλμα 1040.
max_connections=1000
Φροντίστε να επανεκκινήσετε τη MYSQL για να τεθεί σε ισχύ
CMD->
καθαρή στάση mysql
καθαρή εκκίνηση mysql
Σχετικά με το θέμα της αδυναμίας εκκίνησης της mysql μετά την αλλαγή του innodb_log_file_size
innodb_buffer_pool_size=768Μ innodb_log_file_size=256Μ innodb_log_buffer_size=8Μ innodb_additional_mem_pool_size=4Μ innodb_flush_log_at_trx_commit=0 innodb_thread_concurrency=20 Τα παραπάνω είναι η προκαταρκτική βελτιστοποίηση του κινητήρα inodb, διαπιστώθηκε ότι υπήρχε πρόβλημα κατά την ενημέρωση innodb_log_file_size=256M, όσο προστέθηκε αυτό, δεν μπορούσε να ξεκινήσει.
Αργότερα, ανακάλυψα ότι έπρεπε πρώτα να σταματήσω την υπηρεσία και μετά να διαγράψω το αρχικό αρχείο......... Ανοίξτε το /MySQL Server 5.5/data
Διαγραφή ib_logfile0, ib_logfile1........ ib_logfilen Στη συνέχεια, ανοίξτε την επιλογή και ξεκινήστε την με επιτυχία.
|