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

首先提醒大家,拷貝data文件夾有風險!數據無價,建議還是dump數據再restore!


舊版本是5.7,到官網 https://dev.mysql.com/downloads/ 下載8的dmg包,安裝(在版本8的安裝過程中需要設置root賬戶的密碼,注意記錄好!)。

以dmg包方式安裝的mysql,根目錄在/usr/local下面,可以看到一個“mysql”的替身,指向實際的mysql安裝目錄,如果之前安裝有舊版本,升級之後可以見到兩個目錄,

8的安裝過程中,會刪除5.7的舊文件,所以5.7的那個裏面已經只剩一個data目錄了,此時的數據目錄是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內容全部拷過來。

再次啓動服務 sudo mysql.server start,用shell的方式可以登錄root。但是workbench會報錯:('mysql.infoschema'@'localhost') does not exist

關鍵一步:shell執行:mysql_upgrade -u root -p   

輸入密碼後,如圖:

之後可以成功登陸了,而且以前的數據庫都在:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章