mysql_upgrade failing on 5.5 to 5.6 in-place upgrade

  • Filter
  • Time
  • Show
Clear All
new posts

  • mysql_upgrade failing on 5.5 to 5.6 in-place upgrade


    I'm trying to follow the In-place upgrade guide.

    I''m running centos 6.4 going from Percona 55-5.5.29-rel29.4.401 to Percona 56-5.6.14-rel62.0.483

    I've got down to running mysql_upgrade and get this:

    Looking for 'mysql' as: mysql
    Looking for 'mysqlcheck' as: mysqlcheck
    Running 'mysqlcheck with default connection arguments
    Running 'mysqlcheck with default connection arguments
    mysql.columns_priv OK
    mysql.db OK
    mysql.event OK
    mysql.func OK
    mysql.general_log OK
    mysql.help_category OK
    mysql.help_keyword OK
    mysql.help_relation OK
    mysql.help_topic OK
    mysql.host OK
    mysql.innodb_index_stats OK
    mysql.innodb_table_stats OK
    mysql.ndb_binlog_index OK
    mysql.plugin OK
    mysql.proc OK
    mysql.procs_priv OK
    mysql.proxies_priv OK
    mysql.servers OK
    mysql.slave_master_info OK
    mysql.slave_relay_log_info OK
    mysql.slave_worker_info OK
    mysql.slow_log 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
    Running 'mysql_fix_privilege_tables'...
    Warning 1642 Pre-4.1 password hash found. It is deprecated and will be removed in a future release. Please upgrade it to a new format.
    Running 'mysqlcheck with default connection arguments
    mysqlcheck: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect
    FATAL ERROR: Upgrade failed

    Any help would be appreciated, thanks.

  • #2
    ok, think I have got through this issue now. I'm not exactly sure of the reason why but this is what I did to resolve:

    changed value of old_passwords from 1 to 0 in my.cnf (not sure if this step was neccessary)

    followed the upgrade guild (link above) including:

    /usr/sbin/mysqld --skip-grant-tables --user=mysql &


    this fails with the error as reported but at least it adds the additional column to the mysql.user table
    before it does so.

    Then I went in and updated the mysql.user table:

    update `user`
    set `password` = PASSWORD('theRootPassword')
    where `User` = 'root'

    I then shut down the running mysql (kill %1) and started it normally

    service mysql start

    I could then run the upgrade script providing the password

    mysql_upgrade -uroot -ptheRootPassword

    and it seemed to work fine.