1. 程式人生 > >macOS Mysql5.7升級Mysql8(解決mysql.infoschema不存在的問題)

macOS Mysql5.7升級Mysql8(解決mysql.infoschema不存在的問題)

首先說一下,拷貝data資料夾有風險!建議還是dump資料再restore!


舊版本是5.7,官網下載8的dmg包,安裝。

dmg包方式安裝的mysql在/usr/local下面,有一個“mysql”的替身,指向實際的mysql安裝目錄,如果之前安裝有舊版本,升級之後可以見到兩個目錄,(8的安裝過程中,會刪除5.7的舊檔案,所以5.7的那個裡面已經只剩一個data目錄了)。如圖:

在版本8的安裝過程中需要設定root賬戶的密碼,注意記錄好!此時的資料目錄是8.0.12資料夾中的data。


安裝完成,進入/usr/local/mysql/support-files/

啟動服務:sudo mysql.server start

試著登陸root:mysql -h 127.0.0.1 -u root -p注意,這會兒輸入的密碼是在安裝8.0.12時自己設定的那個)。

使用workbench登陸也是可以的,但是,原來的資料庫全部沒有了。


網上查,是可以通過配置檔案指定data目錄位置,但是覺得以後容易搞亂。所以嘗試直接copy資料檔案。

停止服務:

進入/usr/local/mysql/support-files/       之後   sudo mysql.server stop

備份8.0.12的data資料夾(如果失敗了能恢復),之後刪掉,再把5.7的data全部拷過來。

再次啟動服務,用shell的方式可以登入進去。

但是workbench報錯:('mysql.infoschema'@'localhost') does not exist,無法登陸

關鍵一步:shell執行:mysql_upgrade -u root -p   輸入密碼後,如圖:

之後可以成功登陸了,而且以前的幾個資料庫都在: