Ошибка записи в базу данных. Стандартный элемент База данных

Ошибка записи в базу данных. Стандартный элемент База данных

от Alexey Piguzov -
Количество ответов: 7

Уважаемые, подскажите в чем может быть проблема.

При создании стандартного элемента База данных, поле Изображение при загрузке файла выдает такую вот ошибку записи в БД.

Версия 3.5.2 Ubuntu Server 16.04

В режиме отладки выдает еще и это:

Debug info: The user specified as a definer ('moodle'@'%') does not exist
UPDATE mdl_data_content SET fieldid = ?,recordid = ?,content = ?,content1 = ?,content2 = ?,content3 = ?,content4 = ? WHERE id=?
[array (
0 => '8378',
1 => '22713',
2 => '2.PNG',
3 => NULL,
4 => NULL,
5 => NULL,
6 => NULL,
7 => '89676',
)]
Error code: dmlwriteexception
Stack trace:
  • line 482 of /lib/dml/moodle_database.php: dml_write_exception thrown
  • line 1502 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
  • line 1534 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->update_record_raw()
  • line 257 of /mod/data/field/picture/field.class.php: call to mysqli_native_moodle_database->update_record()
  • line 250 of /mod/data/edit.php: call to data_field_picture->update_content()


В ответ на Alexey Piguzov

Re: Ошибка записи в базу данных. Стандартный элемент База данных

от Vadim Tabunshchik -
Изображение пользователя Developers

Пользователь базы данных 'moodle'@'%' не существует. Что за пользователь в config.php прописан? Как вы тогда Мудл установили?

А может такой пользователь есть, но у него привилегий не хватает? И почему у него доступ к БД с любого хоста?

В ответ на Vadim Tabunshchik

Re: Ошибка записи в базу данных. Стандартный элемент База данных

от Alexey Piguzov -

Сайт был перенесен на новый сервер, и остальное то все вроде работает. Только вот с элементов БД проблемы. Щаз запаникую! Чего делать-то? Вопросов много, буду последовательно искать на них ответы.

В ответ на Vadim Tabunshchik

Re: Ошибка записи в базу данных. Стандартный элемент База данных

от Alexey Piguzov -

Пользователя проверил , был такой пользователь moodle, он же и в конфиге был прописан до переезда на другой сервер. На новой перенесли базу данных как при миграции указано. Теперь пользователь другой. В конфиге подправили - всё работает, вернее не всё. Скорее всего в это ми проблема. Но как ее починить вопрос.

Создаю стандартную БД в курсе, делаю пару полей, пытаюсь добавить запись, выдает вышеуказанную ошибку.

Подскажите куда копать, пожалуйста?

В ответ на Alexey Piguzov

Re: Ошибка записи в базу данных. Стандартный элемент База данных

от Alexey Piguzov -

Возвращаюсь к проблеме. Базы импортированные через бекап курса с другого сайта вроде как работают, а вот новые ошибку выдвют. При добавлении записи. Сам элемент БД создается. Что за полтергейст?

В ответ на Alexey Piguzov

Re: Ошибка записи в базу данных. Стандартный элемент База данных

от Alexey Piguzov -

Уважаемые, так всё-таки в чём может быть ошибка?

В ответ на Alexey Piguzov

Re: Ошибка записи в базу данных. Стандартный элемент База данных

от Vadim Tabunshchik -
Изображение пользователя Developers

'moodle'@'%' и 'moodle'@'localhost' - это разные пользователи. При переносе БД, видимо, пользователь 'moodle'@'%' остался владельцем таблицы mdl_data_content, а у него привилегий на данном сервере БД нет, или он вовсе отсутствует.

Проверить это без root-доступа к БД нельзя. Или переназначьте привилегии для базы moodle пользователю 'moodle'@'localhost', или создайте 'moodle'@'%' с правами на БД moodle. Не забудьте после этого перезагрузить привилегии (FLUSH PRIVILEGES;)

В ответ на Vadim Tabunshchik

Re: Ошибка записи в базу данных. Стандартный элемент База данных

от Alexey Piguzov -

Спасибо, Вадим! Действительно, это помогло. Создал еще одного пользователя и дал ему права. Вроде работает...ттт