Многие уже давно подстроили ipb 1.3.1 под MySQL 5.x, однако с выходом MySQL 5.7 возникают ошибки БД: 1)
Ошибка mysql sql_mode=only_full_group_by
на индексной странице получил подарок:
mySQL query error: SELECT g.*, m.* FROM ibf_members m LEFT JOIN ibf_groups g ON (g.g_id=m.mgroup) WHERE m.last_activity >= '1471640400' AND m.mgroup <> '2' GROUP BY m.name ORDER BY m.last_activity DESC
mySQL error: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'ddd.g.g_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
mySQL error code:
На showtopic получил:
mySQL query error: SELECT p.*,
m.id,m.name,m.mgroup,m.email,m.joined,m.avatar,m.avatar_size,m.posts,m.aim_name,m.icq_number,
m.signature, m.website,m.yahoo,m.integ_msg,m.title,m.hide_email,m.msnname, m.warn_level, m.warn_lastwarn,
g.g_id, g.g_title, g.g_icon, g.g_dohtml, s.login_type, s.running_time, g.g_hide_from_list, g.g_can_view_on_off
FROM ibf_posts p
LEFT JOIN ibf_members m ON (p.author_id=m.id)
LEFT JOIN ibf_groups g ON (g.g_id=m.mgroup)
LEFT JOIN ibf_sessions s ON (s.member_id=p.author_id AND s.member_id<>0 AND s.member_id IS NOT NULL)
LEFT JOIN ibf_pfields_content pc ON (pc.member_id=p.author_id)
WHERE p.topic_id=473 and p.queued != 1
GROUP BY pid ORDER BY p.post_date asc LIMIT 0, 30
mySQL error: Expression #48 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'ddd.s.login_type' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
или:
mySQL query error: SELECT p.*,
m.id,m.name,m.mgroup,m.email,m.joined,m.avatar,m.avatar_size,m.posts,m.aim_name,m.icq_number,
m.signature, m.website,m.yahoo,m.integ_msg,m.title,m.hide_email,m.msnname, m.warn_level, m.warn_lastwarn,
g.g_id, g.g_title, g.g_icon, g.g_dohtml, s.login_type, s.running_time, g.g_hide_from_list, g.g_can_view_on_off
FROM ibf_posts p
LEFT JOIN ibf_members m ON (p.author_id=m.id)
LEFT JOIN ibf_groups g ON (g.g_id=m.mgroup)
LEFT JOIN ibf_sessions s ON (s.member_id=p.author_id AND s.member_id<>0 AND s.member_id IS NOT NULL)
LEFT JOIN ibf_pfields_content pc ON (pc.member_id=p.author_id)
WHERE p.topic_id=527 and p.queued != 1
GROUP BY pid ORDER BY p.post_date asc LIMIT -30, 30
mySQL error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-30, 30' at line 11
mySQL error code:
Date: Tuesday 24th 2020f March 2020 02:11:04 AM
на showforum получил ошибку неявной записи:
mySQL query error: UPDATE ibf_sessions SET member_name='',member_id='0',member_group='2',login_type='0', running_time='1471718686', in_forum='332', in_topic='', location='SF,,' WHERE id='a85128f6bfeb1d83f6d48b296562257d'
mySQL error: Incorrect integer value: '' for column 'in_topic' at row 1
mySQL error code:
Постинговые, вроде, открываются. Например, вот такое: index.php?act=Post&CODE=06&f=332&t=473&p=714 При этом предпросмотр работает, а при отправке данных - ошибка БД абсолютно без информации в окне.
admin.php и индексная там - открываются. При этом страницы многих пунктов меню открываются, а, например, Настройка языковвыдает ошибку:
mySQL query error: select ibf_languages.*, count(ibf_members.id) as mcount from ibf_languages left join ibf_members on(ibf_members.language=ibf_languages.ldir) where (ibf_members.language is not null or ibf_members.language = 'en') group by ibf_languages.ldir order by ibf_languages.lname
mySQL error: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'ddd.ibf_languages.lid' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
В MySQL 5.6 все работает. Как видно, в 5.7 надо решать вопросы нововведений, из-за которых идут ошибки
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''))
Решение для сервера:
mysql_my.ini
Прописать под директивой [mysqld]
режим sql, не включающий режима only full group by:
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
или, в крайнем случае, что не есть здорово:
sql-mode=""
Если без сервера, то пока так (верно или нет - не знаю):
Topics.php
Найти: 1 или 2 раза:
GROUP BY pid ORDER BY p.{$ibforums->vars['post_order_column']} {$ibforums->vars['post_order_sort']} LIMIT $first, ".$ibforums->vars['display_max_posts']);
Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.
Вопрос
dimitry
Многие уже давно подстроили ipb 1.3.1 под MySQL 5.x, однако с выходом MySQL 5.7 возникают ошибки БД:
1)
на индексной странице получил подарок:
На showtopic получил:
или:
на showforum получил ошибку неявной записи:
Постинговые, вроде, открываются. Например, вот такое: index.php?act=Post&CODE=06&f=332&t=473&p=714
При этом предпросмотр работает, а при отправке данных - ошибка БД абсолютно без информации в окне.
admin.php и индексная там - открываются. При этом страницы многих пунктов меню открываются, а, например, Настройка языков выдает ошибку:
В MySQL 5.6 все работает. Как видно, в 5.7 надо решать вопросы нововведений, из-за которых идут ошибки
https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html
Решение:
Периодические запросы в БД:
Решение для сервера:
Если без сервера, то пока так (верно или нет - не знаю):
Topics.php
Найти: 1 или 2 раза:
внутри заменить
на
Изменено пользователем dimitryСсылка на комментарий
Поделиться на других сайтах
1 ответ на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.