Ошибка записи в БД на удалённом сервере

Ошибка записи в БД на удалённом сервере

от Tatsiana Osipova -
Количество ответов: 11

Здравствуйте! У меня возникли вопросы при работе системы на удалённом сервере.
По адресу moodle.testura.by развернута система обучения moodle 2.6.6
При работе с БД логгируется следующая ошибка

Debug info: 

Cannot execute statement:

impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.

UPDATE mdl_config SET value = ? WHERE name = ?

[array (

0 => '2013111805.11',

1 => 'version',

)]

Error code: dmlwriteexception

Stack trace:

line 446 of /lib/dml/moodle_database.php: dml_write_exception thrown

line 1324 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()

line 1611 of /lib/dml/moodle_database.php: call to mysqli_native_moodle_database->set_field_select()

line 1358 of /lib/moodlelib.php: call to moodle_database->set_field()

line 221 of /lib/upgradelib.php: call to set_config()

line 3038 of /lib/db/upgrade.php: call to upgrade_main_savepoint()

line 1547 of /lib/upgradelib.php: call to xmldb_main_upgrade()

line 365 of /admin/index.php: call to upgrade_core()

Виртуальный хостинг на линуксе, БД MySQL
Как решить эту проблему?

Спасибо! 

Приложение 122.jpg
В ответ на Tatsiana Osipova

Re: Ошибка записи в БД на удалённом сервере

от Александр Козлов -

Как мне кажется проблема с пользователем базы данных, у него не достаточно прав и/или есть лимит на количество одновременных подключений к базе данных, а Moodle их требует очень много.

В ответ на Александр Козлов

Re: Ошибка записи в БД на удалённом сервере

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle

moodle не требует большого числа подключений к БД.

Проблема и решение описано в https://moodle.org/mod/forum/discuss.php?d=196272

В ответ на Виталий Лавров

Re: Ошибка записи в БД на удалённом сервере

от Tatsiana Osipova -

Спасибо вам большое за рекомендации! Будем пробовать.

В ответ на Tatsiana Osipova

Re: Ошибка записи в БД на удалённом сервере

от Tatsiana Osipova -

Обнаружилась проблема с виртуальным хостингом (те настройки, которые предлагает хостер, не поддерживает Moodle). Я так полагаю, выходом может стать свой хостинг. У кого есть такой опыт? Поделитесь, пожалуйста, как это делается, какие нужны системные характеристики и пр.
Спасибо.

В ответ на Tatsiana Osipova

Re: Ошибка записи в БД на удалённом сервере

от Alexandre Scherbyna -

Ресурсы своего хостинга нужно рассчитывать так, чтобы они выдерживали пиковую нагрузку. В результате вы купите дорогое оборудование, которое большую часть времени будет простаивать, да еще занимать помещение, требовать обслуживающего персонала и пр. Оно вам надо?

Найдите хороший облачный хостинг. Это и надежность - при поломке одного сервера автоматически задействуется другой, и автоматическое масштабирование при увеличении нагрузки. Вас будут обслуживать профессионалы 24 часа в сутки, которые сами будут беспокоиться о резервном копировании и пр., а обойдется это гораздо дешевле, т.к. платить будете по счетчику только за реально потребленные ресурсы.

В ответ на Tatsiana Osipova

Re: Ошибка записи в БД на удалённом сервере

от Александр Козлов -

по Беларусскому не подскажу, а в принципе для Moodle нужен VDS или VPS хостинг,  мудл брльшую нагрузку на процессор делает в пиковые нагрузки, а тк много файло то лучше ещё и ssd диск а не простой HDD. Могу порекомендовать ruweb.net или simplecloud.ru Настраивать конечно придётся самому, но можно и хостингу заплатить, а так то там ни чего сложного много инструкций по настройке в интернет, я за пару дней разобрался не имея представлений о системе Linux вообще представлений. Рекомендую установить чистую систему Debian или Ubuntu и поставить на неё панель для управления сайтами Vesta бесплатная и простая в управлении, сама поставит php и mysql , планировщик cron только на нём немного глючит пришлось через консоль настраивать. По железу у меня 700 студентов и по 20-50 штук за раз заходит для этого хватит 1-2 ядра и 2-4гб оперативки, сам сайт 10-20 гб жесткого диска требует (1 гб система, 1 гб сайт пустой, остальное запас) 

В ответ на Александр Козлов

Re: Ошибка записи в БД на удалённом сервере

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

Некоторое время назад экспериментировал с ресурсами для нашего сервера moodle. Он на виртуальной машине, 
поэтому была возможность манипулировать вариантами. У наc 4500 пользователей и 300-500 уникальных пользователей ежедневно. Не думаю, что у вас даже близкая к этому нагрузка. В итоге  для всего этого оказалось достаточно 1,5 Гб оперативной памяти. Из 4-х предоставленных ядер Intel Xeon E5504 2Ггц реально достаточно одного, в пикокое время - двух. Больше 150% ядра не использовалось ни разу за полгода наблюдения. Жесткий диск SAS на 150 Гб используется на 60%. Сейчас половина нагрузки - это ожидание процессором ответа диска, при работе с базой данных, у нас не SSD-диски. Тут было бы неплохо заиметь диск на 30 Гб только под базу данных, оставив файлы на магнитных дисках, это позволило бы ещё скорость ответа сервера при операциях, сильно зависящих от базы данных.

Из этого всего можу сказать следующее: moodle действительно не очень требовательная к ресурсам система, хотя возможностей обычного shared php хостина ей явно будет недостаточно. Многие предложения по VDS оказываются несбалансированными из-за за необходимого объёма жесткого диска. С винтом на 150 Гб предлагают немерянное количетсво памяти и ядер. Но если есть конфигуратор, который позволяет губко устанавливать параметры, то можно уложиться и в 1000-1500 р. в месяц (это без SSD). 

Если для вас такая цена высока - то с moodle справится любая современная 
рабочая станция с core i3, 4 Гб, ssd 60 гб и hdd 1 Тб, которую можно купить за 30 000 р. Но это, естественно, в разы более низкий уровень надежности.

В ответ на Александр Козлов

Re: Ошибка записи в БД на удалённом сервере

от Tatsiana Osipova -
В ответ на Tatsiana Osipova

Re: Ошибка записи в БД на удалённом сервере

от Tatsiana Osipova -

Дорогие коллеги! Огромное спасибо за ваше внимание к моей проблеме и ценные рекомендации! Система теперь хорошо работает! Всё дело было в выделенном хостинге и настройках. Спасибо)