Come convertire un database di MySQL da utf8 a utf8mb4

Se avete finalmente reso compatibile il vostro database a utf8mb4 e lo avete anche configurato correttamente, che ne dite di convertirlo anche? Comprese le tabelle e colonne?

Ovviamente prima fatevi un bel backup di tutto quanto… ora andiamo alla conversione!

Per ogni database (cambiate dbname):

ALTER DATABASE dbname CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

Per ogni tabella (cambiate tablename):

ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Per ogni colonna (cambiate nome e grandezza delle colonne):

ALTER TABLE tablename CHANGE column_name column_name VARCHAR(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Voilà, ora dovreste essere fully compatible con utf8mb4.