[MySql] #1728 – Cannot load from mysql.user. The table is probably corrupted / #1682 – Native table ‘performance_schema’.’session_variables’ has the wrong structure該如何解決

管理/新增/修改MySQL用戶時,出現:#1728 – Cannot load from mysql.user. The table is probably corrupted

或是 #1682 – Native table ‘performance_schema’.’session_variables’ has the wrong structure

通常一般都會使用Mysql修復指令或是Phpmyadmin的資料庫修復來修復這個MyISAM,

這個方法基本上可以處理因為MyISAM資料庫錯誤造成的問題。

但是對於因為資料庫版本的升級造成的格式或是編碼方式不同產生的錯誤就無法解決了,因為這不屬於資料庫錯誤。

此時,可以使用mysql_upgrade工具來進行處理(如果使用Windows版本,也可以在MySQL安裝路徑的bin資料夾中找到此工具)

指令如下,不分Linux或是Windows版本的MySQL:

mysql_upgrade -uroot -p --force

等待上述指令運作完成後,必須重新啟動MySQL伺服器才能正式完整生效喔。

重新啟動MySQL伺服器後可以將這些資料庫相容於當前版本(例如:MySQL 5.7升級到MySQL 8.x)。