Моят личен и професионален живот

2018-04-29

Излезе MySQL 8.0

Миналия четвъртък (19-ти Април) Oracle пусна MySQL 8.0.11 като General Availability (GA). Това е голяма нова версия, включваща много нови възможности, но любимите ми във връзка с разработка са Common Table Expressions (CTO), прозоречни функции, подобрения по регулярни зирази, NOWAIT и SKIP LOCKED за заключващи четения, функция GROUPING, низходящи индекси и разширена JSON функционалност. Обаче, има много повече в MySQL 8 най-вече транзакционен речник на данните, атомарни DDLи, роли, ресурсни групи, невидими индекси, хистограми и още много други. Има също така подобрения в производителността включващи Unicode, JSON и регулярни изрази.
Играя си с MySQL 8 откакто Release Candidate 1 беше пусната миналия Септември. Тогава инсталирах MySQL 8.0.3 (RC1) в Slackware виртуална машина и пуснах репликация от MySQL 5.7 сървъра ми, така че да мога да експериментирам с действителни данни. Като цяло съм ентусиазиран от новите функционалности за разработка, но мога да взема и още ако Oracle ги предостави :-)
Има няколко неща, които трябва да имате в предвид с MySQL 8.0:

  • нов плъгин за удостоверяване по подразбиране caching_sha2_password: Това беше първия "проблем" с който се сблъсках миналия Септември. Ако все още имате нужда да се свързвате по стария начин тогава трябва само да добавите следното в конфигурационния ви файл и рестартирате сървъра:

    default_authentication_plugin = mysql_native_password

    Виж също публикацията Migrating to MySQL 8.0 without breaking old application на Фредерик Дешан.
  • Плъгина MySQL X вече е разрешен по подразбиране (виж WL#11040): Ако мигрирате от MySQL 5.7 или предишна MySQL 8.0 версия (DMR или RC), тогава премахнете следната директива от конфигурационния ви файл, за да избегнете предупреждение в логовете:

    plugin-load-add = mysqlx.so
  • не е възможно да се надгради директно от предишна версия, която не е GA: Бях изненадан първоначално и дори регистрирах бъг (виж 90619) след като първо писах в Twitter, но след това си припомних предишните надграждания и осъзнах, че това е нормално за MySQL (виж MySQL Upgrade Strategies) независимо дали ми харесва или не. Надграждането от 5.7 до 8.0 официално се поддържа, но все още не съм го пробвал. Ще споделя опита си по-късно.
MySQL 8 е страхотна нова версия, която горещо ви приканвам да пробвате, защото предлага много нови функционалности част от съвременния SQL. Въпреки това очаквам, че приемането на новата версия ще отнеме известно време и ясен знак за това беше, че някои от новите JSON функционалности бяха приспособени към предишната GA версия (5.7.22).

    Няма коментари: