Mysql
 sql >> база данни >  >> RDS >> Mysql

Грешка в MySQL Твърде много връзки

Доставчиците на споделен хостинг обикновено позволяват доста малко количество едновременни връзки за един и същ потребител.

Това, което прави вашият код, е:

  • отворете връзка към MySQL сървъра
  • направете нещата си (генериране на страницата)
  • затворете връзката в края на страницата.

Последната стъпка, когато е направена в края на страницата, не езадължителна :(цитирайки mysql_close наръчник) :

Но имайте предвид, че вероятно не трябва да използвате постоянни връзки...

Два съвета :

  • използвайте mysql_connect вместо mysql_pconnect (вече е добре за вас)
  • Задайте четвъртия параметър на mysql_connect на false (за вас вече е добре, тъй като това е стойността по подразбиране) :(цитирайки ръководството) :


Тогава какво може да причини проблема?

Може би се опитвате да осъществите достъп до няколко страници паралелно (например като използвате няколко раздела в браузъра си) , което ще симулира няколко потребители, използващи уебсайта едновременно?

Ако имате много потребители, които използват сайта едновременно и кодът между mysql_connect а затварянето на връзката отнема много време, това ще означава, че много връзки се отварят едновременно... И ще достигнете лимита :-(

И все пак, тъй като сте единственият потребител на приложението, като се има предвид, че имате до 200 разрешени едновременни връзки, се случва нещо странно...


Е, като се замисля за „твърде много връзки " и "max_connections „...

Ако си спомням правилно, max_connections не ограничава броя на връзкитевиете може да се отвори към MySQL сървъра, но общия брой връзки който може да бъде отворен на този сървър от всеки, който се свързва с него .

Цитиране на документацията на MySQL за Твърде много връзки :

Така че всъщност проблемът може да не идва нито от вас, нито от вашия код (който всъщност изглежда добре) :може "просто" да се окаже, че не сте единственият, който се опитва да се свърже с този MySQL сървър (не забравяйте, "споделен хостинг") , и че има твърде много хора, които го използват едновременно...

... Иако съм прав и е товата , не можете да направите нищо, за да разрешите проблема:стига да има твърде много бази данни/потребители на този сървър и този max_connection е зададен на 200, ще продължите да страдате...


Като странична бележка:преди да се върна към GoDaddy да ги попитам за това, би било хубаво някой да потвърди това, което току-що казах ^^



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Фатална грешка:Неуловено изключение „mysqli_sql_exception“ със съобщение „Не е използван индекс в заявката/подготвеното изявление“

  2. mysql променя всички стойности в колона

  3. Нулирайте MySQL root паролата с помощта на оператор ALTER USER след инсталиране на Mac

  4. Как да покажа съпоставянето на база данни в MySQL

  5. SQL инжекция в Java и MySQL при използване на множество заявки