Мигрирую с одного сервера на другой. На обоих Rocky Linux 8 and 9.
Database.
Старая: MariaDB 10.3.35-MariaDB
Новая: MySQL 8.0.36 (mysql-8.0.36-1.el9_3.src.rpm)
Бакапил вот так:
mysqldump -R --triggers -h localhost -uroot -p*** --databases OurDB --result-file=OurDB.sql
На обоих серверах NGINX.
Папку с файлами форума TARом собрал, перекопировал и развернул абсолютно в идеинтичную структуру папок.
Логины пересозданы с теми же паролями, проверены, права розданы на БД полные.
И тем не менее, на новом сервере при попытке открыть любую страницу получаю
Грепом я нашёл, что "m.display_on_index = 1" встречается лишь в includes/functions_display.php вот в этом кускеSQL ERROR [ mysqli ]
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 'groups g ON (m.group_id = g.group_id) WHERE m.display_on_index = 1' at line 1 [1064]
Код: Выделить всё
$sql_array = array(
'SELECT' => 'm.*, u.user_colour, g.group_colour, g.group_type',
'FROM' => array(
MODERATOR_CACHE_TABLE => 'm',
),
'LEFT_JOIN' => array(
array(
'FROM' => array(USERS_TABLE => 'u'),
'ON' => 'm.user_id = u.user_id',
),
array(
'FROM' => array(GROUPS_TABLE => 'g'),
'ON' => 'm.group_id = g.group_id',
),
),
'WHERE' => 'm.display_on_index = 1',
);
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
// We query every forum here because for caching we should not have any parameter.
$sql = $db->sql_build_query('SELECT', $sql_array);
$result = $db->sql_query($sql, 3600);