Это мой первый нервный вопрос о SO, потому что на все мои вопросы за последнее десятилетие уже были получены отличные ответы.
Я искал все термины, которые я могу придумать, и при этом не было обращений, которые, по-видимому, решают проблему — либо в SO, либо в Google в целом …
В течение последних 15 лет мы использовали phpMyAdmin для администрирования производственной базы данных MySQL, содержащей около 100 таблиц, некоторые из которых теперь содержат от 50 до 300 миллионов записей. Непрерывная разработка является постоянной, и ручной поиск различных таблиц для исправления ошибочных данных, или для изменения индексов таблиц и т. Д. Часто с ростом размера данных. Все это является внутренней частью нашей быстрой сети — то есть доступ к ней осуществляется через нашу интрасеть. Большинство запросов короткие, и база данных работает быстро при низкой средней загрузке.
Как можно понять, ошибки DBA случаются. Например, чтобы ускорить медленный запрос, дополнительный индекс может быть добавлен в большую таблицу без достаточного обдумывания. На этом этапе переиндексация может занять 30 минут, и производственные приложения (написанные на php для Apache2 также на сервере linux) немедленно останавливаются. Это не ценится на заводе.
И вот настоящая проблема. Затем я не могу с моего ПК для разработки открыть второй экземпляр phpMyAdmin, чтобы убить нежелательный процесс MySQL, пока он все еще занят. Какое время мне больше всего нужно 🙂 Браузер просто начинает ждать загрузки страницы phpMyAdmin до тех пор, пока не закончится длинный запрос.
Если у меня случится второй экземпляр pf phpMyAdmin открыть уже, Я могу посмотреть на процесс и убить его удовлетворительно. Обычно мой единственный способ — перезапустить Apache2 и / или MySQL на сервере. Это слишком радикально и требует перезапуска многих клиентских машин, чтобы восстановить необходимые производственные соединения с базой данных.
Я видел ссылку на SO, что Apache будет ставить запросы в очередь с одного и того же IP-адреса в случае программ php, использующих управление сеансами на основе файлов, но мне кажется, что я не контролирую, как phpMyAdmin использует свои сеансы.
Я также читал некоторое время назад, что, если на сервере базы данных будут задействованы несколько ядер ЦП, может быть установлено несколько одновременных подключений, несмотря на то, что один такой запрос все еще занят. Я не могу сейчас найти какую-либо ссылку на эту концепцию.
Кто-нибудь знает, пожалуйста, Как разрешить или принудительно установить второе соединение phpMyAdmin с того же ПК на тот же сервер базы данных, используя phpMyAdmin, в то время как первый экземпляр phpMyAdmin все еще связан с предыдущим медленным запросом?
Большое спасибо, Джем Станнерс
Других решений пока нет …