JSON képes MySQL 5.7 telepítése Debian linuxra

A NoSQL hullám nagyon hódít, amivel én nem feltétlenül értek egyet, mert azt vallom, hogy mindent arra kell használni, amire való (azaz adatok tárolására, szűrésére, stb. SQL-t). Az egyik fő indok mellette azt szokott lenni, hogy JSON objektumokat lehet benne tárolni és azokkal lehet dolgozni. Így  kliens oldal eleve készen kapja, nem kell a backenden összerakni és szétszedni újra és újra.

Természetesen a NoSQL megoldásoknak is megvannak a maga előnyei és hátrányai, nem azt mondom, hogy nincs helyük a webfejlesztésekben. Csupán azt, hogy egy előny miatt, nem biztos hogy el kell dobni mindent, amit eddig használtunk.

Ahhoz, hogy ezt kihasználhassuk olyan verzió kell a MySQL szerverből, ami jelenleg a stabil változatokban nem elérhető, ami jelen esetben 5.7-es MySQLt jelent és a stabilban csak 5.5 van. A telepítés folyamata a következő (természetesen egy backup után):

  1. töltsük le a MySQL oldaláról a “telepítő varázslót”: https://dev.mysql.com/downloads/repo/apt/ a lap alján levő linkre kattintva, ami per pillanat ide mutat.
  2. dpkg -i mysql-apt-config_0.8.1-1_all.deb -vel (értelem szerűen a saját fájlt kell itt megadni) indíthatjuk el a “varázslót”, aminek segítségével kiválaszthatjuk a kívánt verziót, esetemben 5.7-et
  3. apt-get update
  4. apt-get upgrade
  5. mysql_update -u root -p -vel indítsunk egy update-et, majd ismételjük meg mysql_update -u root -p --force -al ugyanezt
  6. indítsuk újra a MySQL-t: service mysql restart

Amit a JSON típusú oszlopokról tudni kell, az itt van összefoglalva: https://dev.mysql.com/doc/refman/5.7/en/json.html .

A PHPMyAdmin és a HeidiSQL is kezeli ezeket a típusokat, így nem BLOB-ot látunk, hanem szabványos JSON objektumot, stringként.

Legjobb tudomásom szerint a MySQL 5.7-tel megegyező MariaDB 10.1 és 10.2 nem kezeli a JSON típusú oszlopokat, csak JSON fájlban képes dolgozni.