A schema mismatch in a MySQL 5.7 instance between the
.frm
file of a table and theInnoDB
data dictionary can cause an upgrade to MySQL 8.0 to fail. Such mismatches may be due to.frm
file corruption. To address this issue, dump and restore affected tables before attempting the upgrade again.If problems occur, such as that the new mysqld server does not start, verify that you do not have an old
my.cnf
file from your previous installation. You can check this with the--print-defaults
option (for example, mysqld --print-defaults). If this command displays anything other than the program name, you have an activemy.cnf
file that affects server or client operation.If, after an upgrade, you experience problems with compiled client programs, such as
Commands out of sync
or unexpected core dumps, you probably have used old header or library files when compiling your programs. In this case, check the date for yourmysql.h
file andlibmysqlclient.a
library to verify that they are from the new MySQL distribution. If not, recompile your programs with the new headers and libraries. Recompilation might also be necessary for programs compiled against the shared client library if the library major version number has changed (for example, fromlibmysqlclient.so.20
tolibmysqlclient.so.21
).If you have created a user-defined function (UDF) with a given name and upgrade MySQL to a version that implements a new built-in function with the same name, the UDF becomes inaccessible. To correct this, use
DROP FUNCTION
to drop the UDF, and then useCREATE FUNCTION
to re-create the UDF with a different nonconflicting name. The same is true if the new version of MySQL implements a built-in function with the same name as an existing stored function. See Section 9.2.4, “Function Name Parsing and Resolution”, for the rules describing how the server interprets references to different kinds of functions.