MySQL: различия между версиями

Материал из Artem Aleksashkin's Wiki
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 30: Строка 30:
* CR_SERVER_LOST - Клиент не получил ошибку во время записи на сервере, но и при этом не получил ответ(или полный ответ) на запрос.
* CR_SERVER_LOST - Клиент не получил ошибку во время записи на сервере, но и при этом не получил ответ(или полный ответ) на запрос.


По умолчанию сервер закрывает соединение после 8ми часов если ничего не происходит. Вы можете поменять это ограничение в переменной wait_timeout, когда запускаете mysqld. См. секцию "Server System Variables" в документации.


Если у вас есть скрипт, вы должны запустить запрос для клиента и сделать автоматическое переподключение. Это предполагает, что со стороны клиента переподключение включено(оно включено для )
If you have a script, you just have to issue the query again for the client to do an automatic reconnection. This assumes that you have automatic reconnection in the client enabled (which is the default for the mysql command-line client).
By default, the server closes the connection after eight hours if nothing has happened. You can change the time limit by setting the wait_timeout variable when you start mysqld. See Section 5.1.8, “Server System Variables”.


The most common reason for the MySQL server has gone away error is that the server timed out and closed the connection. In this case, you normally get one of the following error codes (which one you get is operating system-dependent).
The most common reason for the MySQL server has gone away error is that the server timed out and closed the connection. In this case, you normally get one of the following error codes (which one you get is operating system-dependent).

Версия от 14:24, 25 ноября 2019

Установка

Базовые команды

Выгрузка и загрузка дампа

Уровни изоляции транзакций

  • READ UNCOMMITTED
    • После INSERT данные сразу-же станут доступны для чтения.
  • READ COMMTITED
    • В данном случае прочитать данные возможно только после вызова COMMIT. При чем внутри транзакции данные тоже будут еще не доступны.
  • REPEATABLE READ
    • Здесь может возникнуть теоретическая проблема «фантомного чтения». Когда внутри одной транзакции происходит чтение данных, другая транзакция в этот момент вставляет новые данные, а первая транзакция снова читает те-же самые данные.
  • SERIALIZABLE
    • На данном уровне MySQL блокирует каждую строку над которой происходит какое либо действие, это исключает появление проблемы «фантомов».

MySQL server has gone away

Разберемся раз и навсегда.

Эта секция покрывает также ошибку Lost connection to server during query error.

Самая частая причина для ошибки MySQL server has gone away это то что сервер закрыл соединение по таймауту. В этом случае вы обычно получите одну из следующих ошибок(в зависимости от вашей ОС):

  • CR_SERVER_GONE_ERROR - Клиент не смог отправить запрос
  • CR_SERVER_LOST - Клиент не получил ошибку во время записи на сервере, но и при этом не получил ответ(или полный ответ) на запрос.

По умолчанию сервер закрывает соединение после 8ми часов если ничего не происходит. Вы можете поменять это ограничение в переменной wait_timeout, когда запускаете mysqld. См. секцию "Server System Variables" в документации.

Если у вас есть скрипт, вы должны запустить запрос для клиента и сделать автоматическое переподключение. Это предполагает, что со стороны клиента переподключение включено(оно включено для ) If you have a script, you just have to issue the query again for the client to do an automatic reconnection. This assumes that you have automatic reconnection in the client enabled (which is the default for the mysql command-line client).


By default, the server closes the connection after eight hours if nothing has happened. You can change the time limit by setting the wait_timeout variable when you start mysqld. See Section 5.1.8, “Server System Variables”.

The most common reason for the MySQL server has gone away error is that the server timed out and closed the connection. In this case, you normally get one of the following error codes (which one you get is operating system-dependent).