Bug #49888 mysql db tables converted from utf8mb3 to utf8, put lot errors in server log
Submitted: 23 Dec 2009 9:12 Modified: 17 Mar 2010 8:15
Reporter: Nidhi Shrotriya Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: Charsets Severity:S3 (Non-critical)
Version:5.6 OS:Any
Assigned to: CPU Architecture:Any

[23 Dec 2009 9:12] Nidhi Shrotriya
Description:
This issue is found while doing upgrade/downgrade testing for new UTF charsets (WL#1213). Verified with mysql-6.1-glob tree (as of now pushed to this tree). 

After 'live upgrade'(see How to repeat) looking at var/*.err shows lot of errors in server log. 
Tables in 'mysql' db shows charset as 'utf8' and not as 'utf8mb3' (I believe that is intentional)

091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'Select_priv' at position 3 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'Insert_priv' at position 4 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'Update_priv' at position 5 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'Delete_priv' at position 6 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'Create_priv' at position 7 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'Drop_priv' at position 8 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'Grant_priv' at position 9 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'References_priv' at position 10 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'Index_priv' at position 11 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'Alter_priv' at position 12 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'Create_tmp_table_priv' at position 13 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'Lock_tables_priv' at position 14 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'Create_view_priv' at position 15 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'Show_view_priv' at position 16 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'Create_routine_priv' at position 17 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'Alter_routine_priv' at position 18 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'Execute_priv' at position 19 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'Event_priv' at position 20 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.db: expected the type of column 'Trigger_priv' at position 21 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.event: expected the type of column 'db' at position 0 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.event: expected the type of column 'name' at position 1 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.event: expected the type of column 'definer' at position 3 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.event: expected the type of column 'comment' at position 15 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.event: expected the type of column 'character_set_client' at position 18 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.event: expected the type of column 'collation_connection' at position 19 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Incorrect definition of table mysql.event: expected the type of column 'db_collation' at position 20 to have character set 'utf8' but found character set 'utf8mb3'.
091223 14:13:09 [ERROR] Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler.
091223 14:13:09 [Note] /home/nidhi/mysql-builds/mysql-6.1-glob/bin/mysqld: ready for connections.
Version: '6.0.11-alpha'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution

                                                                                                               

How to repeat:
OLD_DIR=$HOME/mysql-builds/mysql-5.1
NEW_DIR=$HOME/mysql-builds/mysql-6.1-glob

cd $OLD_DIR

bin/mysql_install_db --no-defaults
bin/mysqld_safe --no-defaults &
sleep 5
# bin/mysql --user=root --socket=/tmp/mysql.sock
bin/mysqladmin --user=root --socket=/tmp/mysql.sock shut

cd $NEW_DIR

bin/mysqld_safe --no-defaults --datadir=$OLD_DIR/var &
sleep 5
bin/mysql_upgrade --user=root --socket=/tmp/mysql.sock
bin/mysqladmin --user=root --socket=/tmp/mysql.sock shut
bin/mysqld_safe --no-defaults --datadir=$OLD_DIR/var &
[17 Mar 2010 8:15] Nidhi Shrotriya
This bug doesn't exist now in mysql-next-mr with the/due to recent changes on WL#1213.