Я создаю сервер БД на компьютере-сервере (Windows Server) и использую их с удаленным доступом к БД.
И БД содержит очень массивные данные (одна таблица, которая содержит 30 столбцов и 5 миллионов данных)
Проблема в том, что иногда я не могу подключиться к серверу MySQL (используя root).
Я перепробовал все в потоках переполнения стека, но закончился неудачей.
Кажется, что происходит сбой после того, как код Python (который я сделал) останавливается во время взаимодействия с БД.
Что я говорю, это ...
db.connect(host, name, password, port, cursor...)
// Do some queries (insert, update) (lots of -- about 3 million rows will be added and modified if there are no problems.)
//<----------- python pops errors and exit improperly by dtype mismatch errors(I need to modify this code so that it works properly.)
db.close() <-- will not be executed because python is stopped by error.
Что я хочу знать, так это: если БД не закрыта должным образом во время взаимодействия, может ли это вызвать ошибку соединения с БД?
Когда это происходит, я всегда проверяю серверы (перезагружаю базу данных, меняю настройки памяти в базе данных). но не найти проблемы или решения.
Но все еще может подключиться с БД с сервера компьютера в качестве локального корня
После этого я жду около нескольких раз (3-5 часов), и дБ работает нормально (можно подключиться к дб)
Могу ли я предположить, что сбой во взаимодействии с БД вызывает эту проблему?
Дополнение ::
Мой серверный компьютер не хорош. Используйте аналогично 5-му процессору i5, 8 ГБ ОЗУ
(от SHOW GLOBAL STATUS
:)
connect_timeout 10
deadlock_timeout_long 50000000
deadlock_timeout_short 10000
delayed_insert_timeout 300
idle_readonly_transaction_timeout 0
idle_transaction_timeout 0
idle_write_transaction_timeout 0
innodb_flush_log_at_timeout 1
innodb_lock_wait_timeout 50
innodb_rollback_on_timeout OFF
interactive_timeout 28800
lock_wait_timeout 86400
net_read_timeout 30
net_write_timeout 60
rpl_semi_sync_master_timeout 10000
rpl_semi_sync_slave_kill_conn_timeout 5
slave_net_timeout 60
thread_pool_idle_timeout 60
wait_timeout 28800