WHM/cPanel: There are no databases associated with your account понедельник, 22 апреля 2013 г. http://blog.tataranovich.com/2013/04/whmcpanel-there-are-no-databases.html Столкнулся с тем, что для некоторых пользователей в cPanel в разделе "MySQL Databases" стало долго думать, а затем выдавать ошибку "There are no databases associated with your account.". Гугл выдает аналогичные проблемы и много вариантов решений, но мне ни одно не помогло. Базы видны в phpMyAdmin, но в cPanel с ними работать не удается. Пока дебажил, заметил в процессах такую связку Code: cpsrvd (SSL) - waiting for c --llu=1366639891 --listen=3,4,5,6,7,8 \_ cpaneld - serving 117.65.29 --llu=1366639891 --listen=3,4,5,6,7,8 \_ /usr/local/cpanel/cpanel ./frontend/x3/sql/index.html \_ /usr/local/cpanel/bin/cpmysqlwrap \_ /usr/local/cpanel/3rdparty/bin/perl /usr/local/cpanel/bin/cpmysqladmin Если подключиться к последнему процессу через strace, то видно что он ожидает на вызове read. Поскольку название скрипта намекает на связь с mysql, то смотрю список активных запросов Code: ... select TABLE_SCHEMA as DB,SUM(DATA_LENGTH)+SUM(INDEX_LENGTH) AS SPACEUSED from information_schema.ta ... А вот и любопытный запрос - если его прибить, то cPanel сразу покажет ошибку. Похоже это срабатывает подсчет занимаемого дискового пространства базами пользователей, и для тех пользователей, кто использует много-гигабайтные базы этот скрипт не отрабатывает как следует. Если несколько раз обновить страницу, то становится заметно, что ошибка появляется примерно через 2 минуты. Начинаю смотреть код скрипта и в первых строках нахожу причину Code: 29 30 $SIG{'ALRM'} = sub { die "Timeout: Alarm"; }; 31 32 alarm 120; 33 Получается, что скрипт взводит "будильник" на 2 минуты и именно он мешает скрипту выполниться до конца. Меняю в 30 строке alarm 120 на alarm 300. Теперь показ списка баз работает без ошибок. Правда непонятно, что делать с обновлениями cPanel, но этой проблемой займусь, когда она возникнет.