Obejście polega na modyfikacji /etc/mysql/my.cnf i dodaniu następującego zdania: zmienna set-= max_connections=500
Albo dodaj parametr max_connections=500 do polecenia startowego Chodzi o modyfikację maksymalnej liczby połączeń, a następnie ponowne uruchomienie mysql. Domyślna liczba połączeń to 100, co jest zbyt mało, więc łatwo uzyskać ten sam błąd. Oto instrukcje dotyczące mysql.com strony internetowej: Jeśli pojawi się błąd "Zbyt wiele połączeń" podczas próby połączenia z serwerem mysqld, oznacza to, że wszystkie dostępne połączenia są używane przez innych klientów.
Liczba dozwolonych połączeń jest kontrolowana przez zmienną systemową max_connections. Domyślna wartość to 100. Jeśli potrzebujesz obsłudzenia większej liczby połączeń, powinieneś zrestartować mysqld z większą wartością dla tej zmiennej.
Mysqld faktycznie pozwala klientom max_connections+1 na połączenie. Dodatkowe połączenie jest zarezerwowane dla kont posiadających przywilejów SUPER. Poprzez przyznanie uprawnień SUPER administratorom, a nie zwykłym użytkownikom (którzy nie powinni go potrzebować), administrator może połączyć się z serwerem i użyć SHOW PROCESSLIST do diagnozowania problemów, nawet jeśli maksymalna liczba nieuprzywilejowanych klientów jest połączona. Zobacz sekcję 13.5.4.19, "POKAŻ SKŁADNIĘ PROCEDUR".
Maksymalna liczba połączeń, jakie MySQL może obstrzyć, zależy od jakości biblioteki wątków na danej platformie. Linux lub Solaris powinny obsługiwać 500-1000 jednoczesnych połączeń, w zależności od ilości pamięci RAM i tego, co robią twoi klienci. Statyczne pliki binarne Linuksa udostępniane przez MySQL AB mogą obsługiwać do 4000 połączeń.
1. Może to być problem z ustawieniami Max Connections w MySQL 2. Może być wiele wstawek, a operacja aktualizacji nie zamyka sesji i trzeba skonfigurować wsparcie dla transakcji na wiosnę. Rozdzielczość: 1. Zmodyfikuj czas przerwy w sesji w tomcat do 20 (nieobowiązkowe) 2. Zapewnienie wsparcia dla transakcji dla dużej objętości przetwarzania operacji wstawiania lub aktualizacji bazy danych.
=======================================
Oto rozwiązanie:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Za dużo połączeń"
Przyczyna: Ponieważ twój katalog instalacyjny mysqlmy.iniLiczba równoczesnych połączeń ustawionych w systemie jest zbyt mała lub system jest zajęty, co powoduje, że liczba połączeń jest pełna Rozwiązanie: Otwórz katalog instalacyjny MYSQL i MY.INI znajdź max_connections (około linii 93) domyślnie to 100. Zazwyczaj bardziej odpowiednie jest ustawienie na 500~1000, restart mysql, aby błąd 1040 został rozwiązany.
max_connections=1000
Koniecznie zrestartuj MYSQL, żeby zadziałało
CMD->
NET stop mysql
NET Start MySQL
Jeśli chodzi o problem z brakiem możliwości uruchomienia mysql po zmianie innodb_log_file_size
innodb_buffer_pool_size=768M innodb_log_file_size=256M innodb_log_buffer_size=8M innodb_additional_mem_pool_size=4M innodb_flush_log_at_trx_commit=0 innodb_thread_concurrency=20 Powyższe to wstępna optymalizacja silnika innodb, stwierdzono, że podczas aktualizacji innodb_log_file_size=256M, pojawił się problem – dopóki to było dodane, nie mógł się uruchomić.
Później dowiedziałem się, że najpierw muszę ZATRZYMAĆ usługę, a potem usunąć oryginalny plik......... Open /MySQL Server 5.5/data
Usuń ib_logfile0, ib_logfile1........ ib_logfilen Następnie otwórz opcję i pomyślnie ją uruchom.
|