Comment 2 for bug 1850998

Revision history for this message
Andreas Hasenack (ahasenack) wrote : Re: package mysql-server-8.0 8.0.17-0ubuntu2 failed to install/upgrade: installed mysql-server-8.0 package post-installation script subprocess returned error exit status 1

Thanks for filing this bug in Ubuntu.

This seems to be the error:
Renaming removed key_buffer and myisam-recover options (if present)
ERROR: Unable to start MySQL server:
2019-11-02T02:24:50.952742Z 0 [Warning] [MY-011068] [Server] The syntax 'expire-logs-days' is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
2019-11-02T02:24:50.958476Z 0 [ERROR] [MY-000077] [Server] /usr/sbin/mysqld: Error while setting value 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' to 'sql_mode'.
2019-11-02T02:24:51.013521Z 0 [ERROR] [MY-010119] [Server] Aborting

NO_AUTO_CREATE_USER was removed from mysql 8:
https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html#mysql-nutshell-deprecations
"""
 The following features related to account management are removed:

    Using GRANT to create users. Instead, use CREATE USER. Following this practice makes the NO_AUTO_CREATE_USER SQL mode immaterial for GRANT statements, so it too is removed, and an error now is written to the server log when the presence of this value for the sql_mode option in the options file prevents mysqld from starting.
"""

You have it set in /etc/mysql/mysql.conf.d/mysqld.cnf:

sql_mode = "ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Removing this option should allow your server to start again, and the upgrade to complete:
sudo apt update
sudo apt -f install