ошибка mysql nodejs: соединение потеряно сервер закрыл соединение
когда я использую узел mysql, между 12:00 и 2:00 появляется ошибка, что TCP-соединение выключено сервером. Это полное сообщение:
есть решение. Однако после того, как я попробую таким образом, проблема также появится. теперь я не знаю, как это сделать. Кто-нибудь сталкивается с этой проблемой?
вот как я написал, следуйте решению:
4 ответов
попробуйте использовать код для обработки отключения сервера:
в вашем коде мне не хватает частей после connection = mysql.createConnection(db_config);
прагматическое решение состоит в том, чтобы заставить MySQL поддерживать соединение:
Я предпочитаю это решение пулу соединений и обработке разъединения, потому что оно не требует структурирования кода таким образом, чтобы знать о наличии соединения. Выполнение запроса каждые 5 секунд гарантирует, что соединение останется живым и PROTOCOL_CONNECTION_LOST не происходит.
кроме того, этот метод гарантирует то, что вы держите ту же связь живой, as против повторного подключения. Это важно. Подумайте, что произойдет, если ваш скрипт полагается на LAST_INSERT_ID() и соединение mysql было сброшено без вашего ведома об этом?
однако, это только гарантирует, что время ожидания соединения ( wait_timeout и interactive_timeout ) не происходит. Как и ожидалось, он не сработает во всех остальных сценариях. Поэтому не забудьте обработать другие ошибки.
для имитации отброшенного соединения попробуйте
server closed the connection
SA-MP Dedicated Server
———————-
v0.3z, ©2005-2014 SA-MP Team
*** Streamer Plugin v2.6.1 by Incognito loaded ***
[20:14:49] Loaded.
[20:14:49] Loading plugin: mysql.dll
[20:14:49]
> MySQL plugin R5 successfully loaded.
[20:14:49] Loaded.
[20:14:49] Loaded 2 plugins.
[20:14:50] 1
[20:14:50] 2
[20:14:50] 3
[20:14:50] Connected to mysql database
[20:14:50] Len 2999
[20:14:50] 4
[20:14:50] Settings loaded
[20:14:50] 5
[20:14:50] 6
[20:14:50] Bizes loaded
[20:14:50] 7
[20:14:50] Sbizes loaded
[20:14:50] 8
[20:14:50] Families loaded
[20:14:50] 9
[20:14:50] GangZones loaded
[20:14:50] 10
[20:14:50] Boxers loaded
[20:14:50] 11
[20:14:50] Papers loaded
[20:14:50] 12
[20:14:50] Vehicles loaded
[20:14:50] 13
[20:14:50] 14
[20:14:50] 15
[20:14:50] 16
[20:14:50] 17
[20:14:50] 18
[20:14:50] 19
[20:14:50] 20
[20:14:51] 21
[20:14:51] 22
[20:14:51] 23
[20:14:51] 24 CreateObject the end.
[20:14:51] 24 Radar the end.
[20:14:51] 24
[20:14:51] Races loaded
[20:14:51] 25
[20:14:51] 26
[20:14:51] 27
[20:14:51] 28
[20:14:51] PlayerPickups Max = 4096, Current PlayerPickups = 397
[20:14:51] Vehicles Max = 2000, Current Vehicles = 294
[20:14:51] Vehicle Models Max = Unlimited, Current Vehicle Models = 57
[20:14:51] Objects Max = 1000, Current Objects = 54
[20:14:51] PlayerObjects Max = 1000, Current StreamPlayerObjects = 337
[20:14:51] Gang Zones Max = 1024, Gang Zones = 319
[20:14:51] MapIcons Max = 100, Current StreamMapIcons = 87
[20:14:51] Menus Max = 128, Current Menus = 36
[20:14:51] Text Draws Max = 2048, Current Text Draws = 3511
[20:14:51] 3DTextLabel Max = 1024, Current 3DTextLabel = 142
[20:14:51] 29
[20:14:51] ========================================================================
[20:14:51] Copyright DANGER1979 and Lake_Slep, Emci_Funtik, Xenus(Darlin_Menson) © 2012
[20:14:51] ========================================================================
[20:14:51] Материал защищен авторским правом, любое серьезное изменение скрипта,
[20:14:51] Используя данный скрипт (далее товар) Вы соглашаетесь:
[20:14:51] Используя данный скрипт (далее товар) Вы соглашаетесь:
[20:14:51] Используя данный скрипт (далее товар) Вы соглашаетесь:
[20:14:51] 1. Не присваивать товар себе.
[20:14:51] 2. Не продавать товар за реальные деньги.
[20:14:51] 3. Не изменять/удалять копирайты в коде скрипта.
[20:14:51] Правообладатель не гарантирует корректную работу.
[20:14:51] Правообладатель не гарантирует корректную работу.
[20:14:51] Правообладатель не гарантирует корректную работу.
[20:14:51] Вы используете его на свой страх и риск.
[20:14:51] ========================================================================
[20:14:51] 30
[20:14:51] _______________________
[20:14:51]
[20:14:51] Virtual City: LS/SF/LV
[20:14:51] Virtual City: LS/SF/LV
[20:14:51] _______________________
[20:14:51]
[20:14:51] Number of vehicle models: 66
[20:15:26] Incoming connection: 192.168.1.49:1210
[20:15:27] [join] Sergei_Newservs has joined the server (0:192.168.1.49)
[20:15:32] [part] Sergei_Newservs has left the server (0:2)
Рассмотрено Connection has been closed.
Администрация никогда не пришлет Вам ссылку на авторизацию и не запросит Ваши данные для входа в игру.
Georgiy_Smirnov
Новичок
Georgiy_Smirnov
Новичок
Esco Aeiangln
🗽 BURTON 🗽
Вот все известные варианты решения по проблеме с входом на сервера на платформе RAGEMP 1.1
Если ниже указано отключение, это значит, отключать нужно средствами системы, а не с помощью твикеров «батников» реестра и т.п.
Со стороны сервера проблем нет
Дополнительных вариантов предложить не сможем
Если в результате указанных ниже действий Вы добились экрана с надписью loading server resources, проверьте активность диска и сети для Grand Theft Auto V, если загрузка идет, значит нужно подождать. Если нет, то увы, проблема с соединением, выключите роутер на пару минут, если это не поможет, воспользуйтесь адекватным VPN для проверки.
30-60, а иногда и более минут.)
Удалите стороннее антивирусное ПО (Касперский, Аваст и т.п.), сам защитник Windows временно отключите для проверки (навсегда отключать не стоит), сторонние файрволы, Adguard, Wallpaper engine, MSI Afterburner, MSI Mystic light и аналогичные, для управления подсветкой и блокировки рекламы. Обязательно удалите Razer Synapse, если установлен. Также Process Lasso и Park Control, Memreduct, Advanced system care и подобные. Также отключите Xbox game bar и его оверлей, повтор xbox, оверлей дискорд, удалите betterdiscord,отключите оверлей стим и прочие оверлеи.
В настройках лаунчера RAGEMP, включите параметр “P2P”, или наоборот, выключите
В настройках брандмауэра Windows, удалите все правила для входящих и исходящих подключений, далее отключите его.
1. Нажмите по кнопке Пуск и в поисковой панели начните набирать «Командная строка».
2. Запустите классическое приложение с правами администратора (щёлкните по нему правой кнопкой мыши);
3. В открывшемся окне вводим команду netsh advfirewall set allprofiles state off и нажимаем Enter;
4. После этого из вы увидите уведомление из Центра безопасности и обслуживания об отключении системы безопасности.
Перезагрузите ПК, выключите роутер на пару минут.
Если ранее использовали модификации, сделайте полную проверку файлов GTAV, если это не поможет, удалите папку update, файл gta5.exe из папки GTAV, затем снова сделайте полную проверку файлов, если это не помогает, поможет только чистая установка игры
nodejs mysql Error: Connection lost The server closed the connection
when I use node mysql, an error is appear between 12:00 to 2:00 that the TCP connection is shutdown by the server. This is the full message:
There is the solution. However, after I try by this way, the problem also appear. now I do not know how to do. Does anyone meet this problem?
Here is the way I wrote follow the solution:
6 Answers 6
Try to use this code to handle server disconnect:
In your code i am missing the parts after connection = mysql.createConnection(db_config);
I do not recall my original use case for this mechanism. Nowadays, I cannot think of any valid use case.
Your client should be able to detect when the connection is lost and allow you to re-create the connection. If it important that part of program logic is executed using the same connection, then use transactions.
tl;dr; Do not use this method.
A pragmatic solution is to force MySQL to keep the connection alive:
I prefer this solution to connection pool and handling disconnect because it does not require to structure your code in a way thats aware of connection presence. Making a query every 5 seconds ensures that the connection will remain alive and PROTOCOL_CONNECTION_LOST does not occur.
Furthermore, this method ensures that you are keeping the same connection alive, as opposed to re-connecting. This is important. Consider what would happen if your script relied on LAST_INSERT_ID() and mysql connection have been reset without you being aware about it?
However, this only ensures that connection time out ( wait_timeout and interactive_timeout ) does not occur. It will fail, as expected, in all others scenarios. Therefore, make sure to handle other errors.
Error: Connection lost: The server closed the connection. #836
Comments
pppplus commented Aug 19, 2018 •
Error :
Error: Connection lost: The server closed the connection.
at Socket. (/patho/to/node_modules/mysql2/lib/connection.js : 100 : 35)
at emitNone (events.js:111:20)
at Socket.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1064:12)
at args.(anonymous function) (/usr/lib/node_modules/pm2/node_modules/event-loop-inspector/index.js:133:29)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickDomainCallback (internal/process/next_tick.js:218:9)
version nodejs : 8.11.3
version mysql2 : 1.6.1
The text was updated successfully, but these errors were encountered:
sidorares commented Aug 19, 2018
Can you give a bit more context why this is a problem? Connection lost: The server closed the connection is runtime error, can happen for many reasons ( network, server timeout / restart etc ) and your code must be prepared to handle this. Let us know how code or documentation can help you with that
pppplus commented Aug 20, 2018
Thanks for quick reply.
I don’t know how to help you, because I just begin with nodejs.
It arrives often, after some minutes.
sidorares commented Aug 20, 2018
can you post your server version, and minimal script to reproduce problem so I can run it locally?
pppplus commented Aug 20, 2018
I test, with no window client opened.
Only node running on server.
Connection is cuted after 460-600 seconds.
I delete maximum code, and post a minimal version in some minuts.



