Задавайте вопросы, мы ответим
Вы не зашли.
Добрый день. Подскажите как можно исправить базу moodle 3.8.2+.
unsupported_db_table_row_format
если этот тест не пройден, это указывает на потенциальную проблему
В вашей базе данных есть таблицы, использующие антилопу в качестве формата файла. Рекомендуется преобразовать таблицы в формат файла Barracuda. Смотрите документацию Администрирование через командную строку для подробностей инструмента для преобразования таблиц InnoDB в Barracuda.
Пробовал вводить.
php admin / cli / mysql_compressed_rows.php --list
php admin / cli / mysql_compressed_rows.php --fix
Команды не отрабатывают, может как то внутри самой базы возможно что то нужно поправить?
Не силен в mysql к сожалению совсем.
Неактивен
Боюсь, что с этим вопросом лучше обратиться на форум moodle
https://moodle.org/mod/forum/discuss.php?d=314802
куда-то сюда, например.
>Команды не отрабатывают,
А что это значит? что пишут команды? приведите выхлоп
Неактивен
Неактивен
нде, неинформативно (. А в логи пишется что-нибудь?
Неактивен
vasya написал:
https://sqlinfo.ru/forum/viewtopic.php?id=7676
Видел это сообщение все сделал кроме третьего пункта он как раз мне и не понятен.
Переделать таблички (ALTER TABLE tablename ROW_FORMAT=DYNAMIC).
Можно как то внутри базы переделать таблички?
а потом например импортировать?
В базу могу заходить проблем нету, но что там нужно ввести чтобы исправить не догоняю.
Отредактированно ujhjl (05.06.2020 13:16:17)
Неактивен
в базе, т.е. в консоли mysql (или с помощью иного клиента phpadmin и т.д.) выполнить команды
ALTER TABLE tablename ROW_FORMAT=DYNAMIC
вместо tablename имя таблицы и так нужное кол-во раз
Неактивен
vasya написал:
в базе, т.е. в консоли mysql (или с помощью иного клиента phpadmin и т.д.) выполнить команды
ALTER TABLE tablename ROW_FORMAT=DYNAMIC
вместо tablename имя таблицы и так нужное кол-во раз
Так вопрос как узнать какие таблицы?
А все сразу возможно как то преобразовать?
Отредактированно ujhjl (05.06.2020 13:36:22)
Неактивен
Неактивен
Команду выполнил но не помогло. Все равно висит.
Your database has tables using Antelope as the file format. You are recommended to convert the tables to the Barracuda file format. See the documentation Administration via command line for details of a tool for converting InnoDB tables to Barracuda.
Неактивен
какую именно команду выполнили?
Неактивен
SELECT CONCAT("ALTER TABLE `", TABLE_SCHEMA,"`.`", TABLE_NAME, "` ROW_FORMAT=DYNAMIC;") AS MySQLCMD FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'моя бд';
Неактивен
этот запрос сформирует список запросов вида alter table ... для всех таблиц из вашей бд, которые нужно выполнить
это просто автоматизация. чтобы в ALTER TABLE tablename ROW_FORMAT=DYNAMIC не вставлять руками имя каждой таблицы из бд
Неактивен
vasya написал:
этот запрос сформирует список запросов вида alter table ... для всех таблиц из вашей бд, которые нужно выполнить
это просто автоматизация. чтобы в ALTER TABLE tablename ROW_FORMAT=DYNAMIC не вставлять руками имя каждой таблицы из бд
Он мне выводит такое
ALTER TABLE `veron`.`mdl_analytics_indicator_calc` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_analytics_models` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_analytics_models_log` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_analytics_predict_samples` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_analytics_prediction_actions` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_analytics_predictions` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_analytics_train_samples` ALTER TABLE `veron`.`mdl_analytics_indicator_calc` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_analytics_models` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_analytics_models_log` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_analytics_predict_samples` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_analytics_prediction_actions` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_analytics_predictions` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_analytics_train_samples` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_analytics_used_analysables` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_analytics_used_files` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_assign` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_assign_grades` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_assign_overrides` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_assign_plugin_config` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_assign_submission` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_assign_user_flags` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_assign_user_mapping` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_assignfeedback_comments` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_assignfeedback_editpdf_annot` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_assignfeedback_editpdf_cmnt` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_assignfeedback_editpdf_queue` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_assignfeedback_editpdf_quick` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_assignfeedback_editpdf_rot` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_assignfeedback_file` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_assignment` ROW_FORMAT=DYNAMIC;
ALTER TABLE `veron`.`mdl_assignment_submissions` ROW_FORMAT=DYNAMIC;
и таких куча страниц но везде ROW_FORMAT=DYNAMIC;
Неактивен
все правильно, теперь все эти запросы (alter table .. =DYNAMIC) нужно выполнить
Неактивен
vasya написал:
все правильно, теперь все эти запросы (alter table .. =DYNAMIC) нужно выполнить
То есть брать по очереди и запускать?
там 18 страниц, а одной командой это не возможно сделать?
Ну как то сказать что все таблицы? Понимаю что могу глупость написать, но вдруг.
ALTER TABLE `veron`.`mdl_analytics_indicator_calc` ROW_FORMAT=DYNAMIC;
При чем когда делаю они возвращают пустой результат
MySQL вернула пустой результат (т.е. ноль строк). (Запрос занял 0.1083 сек.)
ALTER TABLE `veron`.`mdl_assignfeedback_editpdf_cmnt` ROW_FORMAT=DYNAMIC
Отредактированно ujhjl (05.06.2020 15:29:22)
Неактивен
ujhjl написал:
То есть брать по очереди и запускать?
там 18 страниц
ALTER TABLE `veron`.`mdl_analytics_indicator_calc` ROW_FORMAT=DYNAMIC;
да, запускать по одному
или написать процедуру, которая сделает это в цикле
или вам повезло, если ваш клиент позволяет выполнять группу запросов.
Неактивен
ujhjl написал:
При чем когда делаю они возвращают пустой результат
MySQL вернула пустой результат (т.е. ноль строк). (Запрос занял 0.1083 сек.)
так и должно быть
Неактивен
ujhjl написал:
То есть брать по очереди и запускать?
там 18 страниц, а одной командой это не возможно сделать?
Ну как то сказать что все таблицы? Понимаю что могу глупость написать, но вдруг.
или сделать бэкап, удалить базу, обратно залить (по идее должно сработать)
Неактивен
Супер спасибо помогло.
Выделил блоками и sql запрос выполнил.
А базу вроде перезаливал не помогало.
Отредактированно ujhjl (05.06.2020 15:37:09)
Неактивен
Рано обрадовался теперь вылезло вот такое и не дает регистрироваться пользователям.
И ругается на кодировку БД. как можно изменить COLLATION
Отредактированно ujhjl (05.06.2020 22:12:35)
Неактивен
Сам отвечу, поменял
DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC
на
DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPRESSED
Все заработало. Ошибка исчезла, рега работает.
Интересно почему только?
Неактивен