Ervaringen upgrade MySQL 5.7 naar 8

MySQL 8 is al een tijdje uit en langzaam aan beginnen servers-packages ook te upgraden van MySQL 5.7 naar MySQL 8. Op m'n development-omgeving test ik reeds geruime tijd met MySQL 8. Migratie loopt in de regel soepel, er zijn echter een aantal punten waar regelmatig tegen aan wordt gelopen,


1. Performance

Regelmatig willen databases nog wel eens met 'MyISAM'-tables werken. Dit is o.a. op te vragen met het commando 'SHOW CREATE TABLE `<table-name>`'. De laatste lijn is dan iets als: ) ENGINE=MyISAM AUTO_INCREMENT=807 DEFAULT CHARSET=utf8.

MyISAM tabellen werken onder MySQL 8 een stuk trager dan onder 5.7. Ook zijn MyISAM-tabellen vanaf MySQL 8 deprecated, wat aangeeft dat deze in de toekomst niet meer ondersteund gaan worden. Geadviseerd is dan ook te upgraden naar InnoDB. Tabellen omzetten van MyISAM naar InnoDB kan via het volgende commando,

    ALTER TABLE `<table-name>` ENGINE=InnoDB;

Issues die wel eens voor kunnen komen hebben voornamelijk betrekking op indexes. Meer informatie hierover is te vinden op https://mariadb.com/kb/en/converting-tables-from-myisam-to-innodb/

 

2. SQL-Queries werken niet meer

MySQL was in het verleden erg tolerant met waardes die werden ingevoerd. Van onjuiste datum/tijd-waardes werd altijd het beste gemaakt en als het onjuist was werd er teruggevallen op 'null' waardes of algemene waardes als '0000-00-00 00:00:00'. Nieuwe versies zijn stukje bij beetje steeds stricter geworden. Er wordt nog wel ondersteuning geboden voor de oude manier door de 'sql_mode' in te stellen.

Mocht u een oude applicatie hebben die SQL-fouten genereerd na een upgrade is het de moeite waard het volgende commando te gebruiken nadat er verbonden is,

    SET SQL_MODE='';


3. Authenticatie

Nieuwe MySQL-versies maken gebruik van andere authenticatie-methodes (authenticatie-plugins), waardoor het kan zijn dat uw applicatie geen verbinding meer kan maken met de MySQL server. Zorg er voor dat u een gebruiker aanmaakt met de oude 'mysql_native_password'-plugin en probeer dan opnieuw verbinding te maken.



 

- Bent u opzoek naar een Php of Java programmeur voor uw website of applicatie? (freelance / detachering)
- Losse tickets, opdrachten, of gehele projecten in de planning?
- Systeembeheer van Linux of Windows Server ?

Dan kom ik graag met u in contact! Meer informatie over mij vindt u hier.
Sitemap | Op alle producten & diensten zijn de algemene voorwaarden van toepassing