Center os安裝MySQL8.0啓動失敗的解決辦法

最近把MySQL從5.6升級到8.0,安裝完畢沒法啓動,提示No Such Directory
tail -n 50 /var/log/mysqld.log 看了一下最近的日誌html

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的配置文件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_password

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

datadir=/var/lib/mysql 這是數據目錄
我這裏以前的數據沒什麼用就清空了目錄,記得備份數據庫後清空目錄,從新啓動會自動生成初始化文件。
最後啓動mysql:
systemctl start mysqldweb

而後還有一個問題8.0安裝會生成一個臨時密碼,在日誌中能夠找到,我拿着用戶密碼一頓試也沒登進去,才知道有臨時密碼這個東西,有這麼一行日誌:sql

2019-06-26T06:34:48.475778Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: LqW*%P03fbsY

至此問題解決!數據庫