Center os安装MySQL8.0启动失败的解决办法

最近把MySQL从5.6升级到8.0,安装完毕无法启动,提示No Such Directory
tail -n 50 /var/log/mysqld.log 看了一下最近的日志

2019-06-26T03:28:46.058324Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.16)MySQL Community Server - GPL. 2019-06-26T03:41:10.116796Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.16) starting as process 31773 2019-06-26T03:41:10.126437Z 1 [System] [MY-011012] [Server] Starting upgrade of data directory. 2019-06-26T03:41:10.279494Z 1 [ERROR] [MY-013090] [InnoDB] Unsupported redo log format (0). The redo log was created before MySQL 5.7.9 2019-06-26T03:41:10.279526Z 1 [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Generic error. 2019-06-26T03:41:10.780102Z 1 [ERROR] [MY-011013] [Server] Failed to initialize DD Storage Engine. 2019-06-26T03:41:10.780372Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed. 2019-06-26T03:41:10.780578Z 0 [ERROR] [MY-010119] [Server] Aborting

发现有一条记录 Unsupported redo log format (0). The redo log was created before MySQL 5.7.9。似乎是5.7.9之前创建的redo log后续版本不支持,于是想到可能之前5.6的数据没删干净。
cat /etc/my.cnf 看了一下mysql的配置文件
# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html[mysqld] # # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # # Remove the leading "# " to disable binary logging # Binary logging captures changes between backups and is enabled by # default. It's default setting is log_bin=binlog # disable_log_bin # # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M # # Remove leading # to revert to previous value for default_authentication_plugin, # this will increase compatibility with older clients. For background, see: # https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin # default-authentication-plugin=mysql_native_passworddatadir=/var/lib/mysql socket=/var/lib/mysql/mysql.socklog-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid

datadir=/var/lib/mysql 这是数据目录
我这里之前的数据没什么用就清空了目录,记得备份数据库后清空目录,重新启动会自动生成初始化文件。
最后启动mysql:
systemctl start mysqld
然后还有一个问题8.0安装会生成一个临时密码,在日志中可以找到,我拿着用户密码一顿试也没登进去,才知道有临时密码这个东西,有这么一行日志:
2019-06-26T06:34:48.475778Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: LqW*%P03fbsY

【Center os安装MySQL8.0启动失败的解决办法】至此问题解决!

    推荐阅读