Download latest version from mysql.com (select the *.dmg)
Stop MySQL Server:
- sudo -i
- cd /Library/LaunchDaemons
- launchctl unload com.mysql.mysql.plist
- Install the downloaded dmg file (double-click to start install) and follow the prompts. -Accept all defaults
- mv /usr/local/mysql/data /usr/local/mysql/data.bak
- cp -R /usr/local/<old_mysql>/data /usr/local/mysql/
- cd /Library/LaunchDaemons/
- launchctl load com.mysql.mysql.plist
- cd /usr/local/mysql/bin/
- /usr/local/mysql/bin/mysql_upgrade -P
See expected output below
root # /usr/local/mysql/bin/mysql_upgrade -p
Enter password:
Looking for 'mysql' as: /usr/local/mysql/bin/mysql
Looking for 'mysqlcheck' as: /usr/local/mysql/bin/mysqlcheck
Running 'mysqlcheck with default connection arguments
Warning: Using a password on the command line interface can be insecure.
Running 'mysqlcheck with default connection arguments
Warning: Using a password on the command line interface can be insecure.
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.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: Using a password on the command line interface can be insecure.
Running 'mysqlcheck with default connection arguments
Warning: Using a password on the command line interface can be insecure.
Running 'mysqlcheck with default connection arguments
Warning: Using a password on the command line interface can be insecure.
ac.appl_account_types OK
ac.appl_address_types OK
.
.
.
OK