Column count of mysql user is wrong: soluzione al problema

Sebbene la comparsa di nuove versioni MySQL è sempre stata contenuta, non è possibile contenere completamente disagi e comparsa di errori come Column count of mysql user is wrong o simili successivi a necessari aggiornamenti al software di database ed alle dipendenze.
L’aspetto da tenere in ulteriore considerazione è anche quello dell’esistenza di configurazioni non omogenee, quindi la libertà di poter raggiungere la propria configurazione di riferimento significa dover fare scelte differenti al momento dell’installazione e in occasione degli aggiornamenti.

Column count of mysql user is wrong: cosa fare quando compare questo errore

Perché compare l’errore Column count of mysql user is wrong

Come citato, la configurazione MySQL di un sistema è il risultato di scelte di installazione ed aggiornamento del software di database, di librerie e dipendenze, attività di migrazione da sistemi ereditati. È proprio questo ultimo scenario la combinazione più probabile che espone all’errore focalizzato in questo articolo: versioni differenti del motore MySQL introducono meccanismi diversi di privilegi e permessi, specialmente tra generazioni major distanti.

Questo problema si riesce per esempio a replicare quando dati storici non vengono esportati in uscita con mysqldump, oppure il lancio di un comando GRANT produce un errore.

Sistemare le tabelle dei privilegi per la versione corrente

MySQL mette a disposizione il programma mysql_upgrade (già mysql_fix_privileges_table ) per questo scopo.

Dopo aver salvaguardato i dati con una copia di sicurezza, è possibile lanciare tale comando come se si trattasse del programma “client” mysql ovvero:

mysql_upgrade -uroot -p

ottenendo un risultato simile al seguente

[root@carbonio ~]# mysql_upgrade -uroot -p
Enter password:
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
Running 'mysqlcheck'...
bh1.categorie OK
bh1.contact_requests OK
bh1.origine_dati OK
bh1.sotto_categorie OK
bh1.super_categorie OK
impiego.dump OK
impiego.offerte OK
mysql.columns_priv OK
mysql.db OK
mysql.func OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.host OK
mysql.proc OK
mysql.procs_priv OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.user OK
web.config OK
Running 'mysql_fix_privilege_tables'...
OK
[root@carbonio ~]#

Sono disponibili alcune direttive ulteriori per un utilizzo avanzato, consultabili attraverso il man del comando.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *