MySQL5.7.03 更換高版本到 5.7.17安裝過程及發現問題解決方案
一、如何安裝?
1、Windows PowerShell 命令視窗(以管理員的身份)。定位到MySQL安裝目錄【我的D:\Program Files\mysql-5.7.9-winx64】的bin目錄下,輸入【mysqld -install】。如下圖,表示安裝成功
2、開啟MySQL安裝目錄,找到【my-default.ini】,配置一些簡單的資訊。
- # These are commonly set, remove the # and set as required.
- basedir = D:\Program Files\mysql-5.7.9-winx64
- datadir = D:\Program Files\mysql-5.7.9-winx64\data
- port = 3306
- #第一次登陸跳過密碼驗證
- skip-grant-tables
3、輸入【mysqld --initialize】,為MySQL進行初始化。初始化過程可能需要持續一會,當出現如下介面,且在MySQL安裝目錄中的data資料夾有內容時,表示成功初始化了。由於新版本的MySQL在啟動時需要初始化一寫表。因此,請不要省略此步驟。
4、啟動mysql【net start mysql】
5、 登入【mysql -uroot -p】
免安裝版的msyql-5.7.17-winx64.zip, 在第3步初始化時會生成一個data 目錄,預設 root 賬戶 初始密碼在 mysql-5.7.17\data 目錄下的
【ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:yes) 】
解決辦法:1 、在第2步 my-default.init 的檔案結尾新增 skip-grant-tables
2 、mysql -u root -p 直接回車不輸入密碼;
6、登入成功後修改root賬戶密碼為‘root’
# 修改root賬戶的密碼ALTER USER 'root'@'localhost' IDENTIFIED BY'root'
可能會遇到錯誤:【 ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 】
解決辦法:1、刪除 第二步中 my-default.init 檔案中的 skip-grant-tables
2、執行命令 mysql> flush privilegers ;
3 、修改密碼 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY'root';
二 、如何恢復低版本的sql資料庫:
1 把data目錄下的ibdata1 先剪下到其他地方
2 把以前低版本的data目錄下的users(此處以一個users庫為例)資料夾和ibdata1檔案,複製到高版本mysql的data目錄下。
此時,拷貝過來的users庫能用,但高版本中的資料庫不能用(由於ibdata1檔案是低版本的)
3 從新啟動mysql 把users庫儲存成.sql檔案
4 把低版本ibdata1檔案換成高版本的ibdata1(現在,高版本的庫能用,低版本的庫不能用,ibdata1是高版本的)
5 重新啟動msyql ,建立一個庫(users,庫名可以改變),在MySQL Workbench 中開啟第3步生成的.sql 檔案執行