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

'max_user_connections' е зададен на 200 - все още получава грешка

Що се отнася до проблема ви с "максималните връзки", той може да бъде едно от трите неща:

1) Сървърът вече има твърде много отворени връзки. MySQL сървър може да обработва само определен брой отворени връзки, преди да откаже да разреши повече и това ограничение се споделя между всички потребители на сървъра. Обикновено е зададен доста високо, въпреки че е лесно някой да ефективно DoS на MySQL сървър, като направи много връзки (но вижте по-долу)

2) Вашият потребителски акаунт има ограничен брой разрешени връзки на час - всички следващи връзки в рамките на този час ще бъдат отхвърлени. Това се задава за всеки потребител.

3) Вашите потребителски акаунти имат ограничен брой разрешени отворени връзки - всякакви допълнителни връзки ще бъдат отхвърлени. Това се задава за всеки потребител.

Винаги е важно да прочетете съобщението за грешка, което получавате при опит за свързване, тъй като в повечето случаи това ще определи точната причина за неуспеха.

Ако акаунтът ви има ограничение за максимален брой връзки (сценарий №3), грешката ще бъде:Код:

ERROR 1226 (42000): User 'mysqldba' has exceeded the 'max_user_connections' resource (current value: 1) 

Където „mysqldba“ ще бъде вашето потребителско име, а „текущата стойност“ е максималният брой отворени връзки, разрешени от този потребител.

Ако акаунтът ви има ограничение за максимален брой връзки на час (сценарий №2), грешката ще бъде:Код:

ERROR 1226 (42000): User 'mysqldba' has exceeded the 'max_connections_per_hour' resource (current value: 1) 

Където отново „mysqldba“ ще бъде вашето потребителско име, а „текущата стойност“ е максималният брой връзки на час, разрешен за този потребител.

Ако получите съобщението за грешка (код 1040) показва, че целият MySQL сървър е свършил слотове за връзка - това е сценарият на DoS, който споменах по-горе.

Какво можете да направите за това? От това, което казахте, нямате привилегии на суперпотребител на този сървър, така че нищо, освен да се оплаквате до SysAdmin, отговорен за този сървър. Те може да увеличат максималния брой разрешени връзки, което може да реши проблема в краткосрочен план, но ако някой друг, използващ сървъра, създава глупав брой връзки към базата данни, слотовете просто ще се запълнят отново. Това, което вероятно трябва да направят, е също така да наложат максимално ограничение за отворена връзка за всеки потребител - това ще спре тежките потребители да запушват сървъра. В ситуация със споделен сървър като вашата, това би имало най-голям смисъл – „мощните потребители“ биха/трябва да имат собствен сървър или биха могли/трябва да плащат, за да увеличат максимално отворените си връзки.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL заявка за получаване на стойности на колони, които съответстват на MAX стойност на друга колона?

  2. Полета за времеви отпечатъци в django

  3. Neo4j - Изтриване на връзка с помощта на Cypher

  4. Възможно ли е да се преброят две колони в една и съща заявка

  5. Посоченият ключ беше твърде дълъг; максималната дължина на ключа е 1000 байта