Комментарии 11
Ну как говорится: держите нас в курсе.
Не понял, а чего вы ожидали при смене мажорной версии продукта? Или вы Changelog из принципа не читали перед обновлением. Или я просто не уловил скрытый смысл статьи заметки?
Мне приходится много работать с регулярными выражениями на базах данных с текстами на кириллице с кодировкой utf8. В версии 5.7 приходилось иногда выполнять такое:
SELECT titre FROM `goods_a` WHERE CONVERT(titre using cp1251) collate cp1251_general_cs REGEXP '([а-яА-Я]{1,})\\(
В версии 8.0.11 регулярные выражения работают полно-масштабно напрямую с кодировкой utf8mb4 (4-Byte UTF-8 Unicode Encoding), так как используется регулярные выражения на базе ICU, International Components for Unicode.
Это кардинальное изменение, особенно для баз данных, где используется кириллица. По сути это не просто очередная версия MySQL, а как новая база данных.
В то же время обновление прошло без особых проблем, кроме тех случаев, что я описал в заметке. Надеюсь, это сохранит кому-то пару часов времени.
SELECT titre FROM `goods_a` WHERE CONVERT(titre using cp1251) collate cp1251_general_cs REGEXP '([а-яА-Я]{1,})\\(
В версии 8.0.11 регулярные выражения работают полно-масштабно напрямую с кодировкой utf8mb4 (4-Byte UTF-8 Unicode Encoding), так как используется регулярные выражения на базе ICU, International Components for Unicode.
Это кардинальное изменение, особенно для баз данных, где используется кириллица. По сути это не просто очередная версия MySQL, а как новая база данных.
В то же время обновление прошло без особых проблем, кроме тех случаев, что я описал в заметке. Надеюсь, это сохранит кому-то пару часов времени.
В предыдущих версиях глобальная переменная 'local_infile' была по умолчанию ON, а в восьмой версии без предупреждения OFF.
Как я написал в заметке можно выполнять
или же прописать один раз в файле my.cnf
Я потратил довольно много времени, пока не понял почему не могу загрузить данные из локального файла через
Как я написал в заметке можно выполнять
SET GLOBAL local_infile = true;
или же прописать один раз в файле my.cnf
[mysqld]
local_infile=ON
Я потратил довольно много времени, пока не понял почему не могу загрузить данные из локального файла через
LOAD DATA LOCAL INFILE
В предыдущих версиях глобальная переменная 'local_infile' была по умолчанию ON, а в восьмой версии без предупреждения OFF.
dev.mysql.com/doc/refman/8.0/en/load-data-local.html
Да, конечно, но вышел на это, когда перестал работать код программы, использующий
Обычно при обновлении версии MySQL не приходилось заново читать целые разделы.
LOAD DATA LOCAL INFILE
Обычно при обновлении версии MySQL не приходилось заново читать целые разделы.
НЛО прилетело и опубликовало эту надпись здесь
И это всё?..
Бинарный апгрейд там тоже поддерживается, но путь не прост и эффективен будет только на крупных БД.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Первые впечатления и действия после обновления MySQL с версии 5.7 до 8.0.11