В качестве сервера разработки использую NAS QNAP TS-121, на котором под управлением Linux (до последнего времени относительно удачно) бегали Apache + MySQL 5.1.x и взаимодействовали с D6 и D7.
Так как для установки (например, для экспериментов и освоения) D8 нужна MySQL 5.5.х и сдуру понадеявшись на "вменяемость" изделия солидной фирмы (как мне казалось), отсутствия каких-либо "рекомендаций" в документации, захотел поставить параллельно MariaDB 5.5, надеясь зацепить ее на другой порт etc.
Но не тут-то было!
1. MariaDB подменила собой MySQL, причем и без предупреждения - без каких-либо "очевидных" возможностей возврата (файлы "старого" приложения на сервере остались). Имевшиеся базы и работа с ними через phpMyAdmin подхватились без проблем.
2. Сервер на D6 прекрасно работает без каких-либо проблем, даже без изменений в настройках базы о которых ниже.
3. Все серверы на D7 перестали работать, выдавая кучу ошибок (см. приложенный файл). Прочистка кэшей не помогла.
4. Google по выдаваемым ошибкам выдает одну рекомендацию - поднять величину параметра сервера базы данных max_allowed_packet до величины > 16 MB. Действительно, в файле настройки my.cnf этот параметр имел величину 1 MB. Изменил его на 64M, в том числе не без труда поборов страсть QNAP'а к замене при перезагрузке настроечных файлов на эталонные копии. Не помогло!
5. D8 при установке выдает примерно тот-же букет ошибок.
Какие будут соображения по преодолению этой проблемы?
P.S. Вариант возврата к старой системе управления базами данных, конечно, прорабатывается, правда горячая линия QNAP попросила написать письменный запрос на их инженеров, так что, похоже, это не самая простая задача.
Вложение | Размер |
---|---|
Файл с текстом ошибок | 746 байт |
Комментарии
Я линуксом занимаюсь на уровне пользователя
Здесь, ИМХО, дело не в Linux'е, а в каких-то "прослойках" (драйверах и т.п.) или их настройках - сайт на D6 ведь работает без проблем, а все остальное, а том числе и phpMySQL глючит по-чёрному...
Увы, прошлось восстанавливать status quo прошивкой старой версии микропрограммы NAS, т.к. в последних прошивках MySQL заменен на MariaDB.
Для тех, кто внезапно, наступит на те же грабли, опишу последовательность восстановления (рекомендованную производителем):
0. Имелся NAS QNAP TS-121 с микропрограммой версии 4.2.2 с установленными MariaDB и (вроде бы совместимой с базой версией) phpMyAdmin 4.4.
1. Сделайте резервную копию файлов. По возможности - снимите дампы имеющихся баз данных (для которых это удастся сделать, у меня по некоторым базам выдавалось "таблицы не найдены" при их наличии).
2. Деинсталируйте MariaDB.
3. Скачайте с сайта производителя файл прошивки версии 4.1.0
4. Через модуль обновления установите прошивку. Согласитесь с предупреждением о том, что согласны на понижение версии, содержащем, в том числе, предупреждения о возможных потерях файлов и т.п. У меня все прошло нормально.
5. После обновления микропрограммы и перезагрузке убедитесь, что сервер базы данных запущен и при необходимости установите phpMyAdmin, имеющийся в списке приложений. У меня все восстановилось до начальной точки.
6. Продолжайте работать на восстановленной конфигурации очень тщательно и осторожно подходя к установке принципиально других баз данных в замен работающей.
Mariadb не то чтобы принципиально другая база. И в нормальной конфигурации на сервере работает с ней и 7 и 8.
Что было накручено с настройками производителем на NAS этом, что так всё было плохо можно только гадать.
Кстати, проблема могла быть даже не с настройками, а с библиотеками и биндингами PDO mysql.
На какой операционной системе все это было
Немного непонятно как пакеты линкуса могут относится к обновления железа сервера...
Просто любопытно..так как возможности работать с серверами не было.только VDS/VPS
Это не сервер, это NAS, коробочка типа роутера + диски.
Это все-таки практически сервер.
Камни - Intel или ARM (в моем случае - arm)
Работает на Linux.
Во flash-памяти хранится ядро и минимум дистрибутивов, в том числе - web-сервер и база данных и много еще чего (в том числе и в виде "фирменных" дистрибутивов). В старых прошивках СУБД MySQL, в новых уже MariaDB. web-сервер - apache, но похоже есть вариант с ngix (ну или народ сам ставит как-то).
При запуске диск и флешка монтируются к корню, что-то устанавливается с флешки на диск и там остается до принудительной деинсталяции и неспециалист в тонкостях "что-где-когда" уже не разберется. В том числе, на флеш-дистрибутиве прописан набор файлов конфигурации по умолчанию, которые "перезаписывают" лежащие на виду конфигурационные файлы, в которых правишь какие-либо настройки (но при определенном упорстве найти и поправить эталонные конфиги возможно).
Дополнительный софт ставится в виде специальных пакетов, распространяемых производителем.
Судя по всему, действительно проблема была в "прокладках" между СУБД и php, что-то обновилось, а что-то осталось от старой базы. Процедура на низком не описана в документации вообще, типа "нажмите кнопки и будет вам щастье", ан не всегда так выходит.
Техподдержка очень скупа на словеса (счастье хотя бы в том, что она вообще в стране есть), главный формат ответа "к нас всё так сконфигУрено, чтобы все надежно работало", но увы, не всегда слова совпадают с реальностью...
Увы, времени разбираться пока нет, будем работать на том, что работает.
«Это все-таки практически сервер»
Почти на любой роутер, нынче, можно поставить OpenWRT какой-нибудь, и будет там то же самое, если не лучше.
От сервера это поделие отличается ОЧЕНЬ сильно. И производительностью, и надёжностью, и массой технологий используемых в серверных платформах.
Это обычный домашний NAS и не более того.
Борис, а что есть сервер? Из википедии: "Сервером называется компьютер, выделенный из группы персональных компьютеров (или рабочих станций) для выполнения какой-либо сервисной задачи без непосредственного участия человека. Сервер и рабочая станция могут иметь одинаковую аппаратную конфигурацию, так как различаются лишь по участию в своей работе человека за консолью."
Я могу запустить apache2 на своём смартфоне и смело назвать его веб-сервером)
Бывает и рабочие станции делают на серверных платформах, и наоборот, и даже, на NAS, или смартфонах запускают веб сервер, или сервер БД.
Но не стоит путать роль исполняемую устройством, и его классификацию как устройства.
После установки апача смартфон останется смартфоном. У него не отрастёт резервный блоки питания, не появится память с коррекцией ошибок, и даже кеша процессору не прибавится, просто он будет исполнять не характерную для себя функцию..
Про NAS всё то же самое...