Windows安裝MySql服務詳細步驟講解以及相關客戶端連線問題解決方法
# Windows安裝MySql服務的相關問題 MySql服務的安裝小總結,以及服務安裝成功,但是使用DOS命令時,無論輸入什麼命令,都會有報錯提示"ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.";而且使用Navicat可能會遇見的"1251–Client does not support authentication protocol requested by server"這樣的無法連線資料庫等報錯情況的處理方式. Windows安裝SQL服務兩種下載方式:
下載完後,我們將 zip 包解壓到自己想要存放的相應目錄;
1.配置環境變數 根據儲存路徑找到相應的bin資料夾,然後配置環境變數(環境變數不會配置可以參考我的其它"環境變數設定"的部落格教程);
2.啟動MySql 接下來我們來啟動下 MySQL 資料庫: 以管理員身份開啟 cmd 命令列工具,切換目錄 (方法一)
3.初始化資料庫 初始化資料庫的操作命令時:
mysqld --initialize –console
輸入完成點選"回車"即可.
4.初始化執行完成,輸出root使用者原始密碼 執行完成後,會輸出 root 使用者的初始預設密碼,如:
2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server]
A temporary password is generated for [email protected]: tToQCX<h,1/h
tToQCX<h,1/h 就是初始密碼,後續登入需要用到,你也可以在登陸後修改密碼。
5.安裝 輸入以下安裝命令:
mysqld install
看到"success"字眼就是安裝成功.
6.注意(補充) 在 5.7版本需要初始化 data 目錄:輸入一下命令進行初始化,操作後可以看到mysql服務安裝路徑下多了一個data的檔案目錄.
mysqld --initialize-insecure
7.啟動MySql服務 啟動輸入以下命令即可:
net start mysql
啟動後成功提示: 8.DOS命令進入MySql資料庫 當 MySQL 服務已經執行時, 我們可以通過 MySQL 自帶的客戶端工具登入到 MySQL 資料庫中, 首先開啟命令提示符, 輸入以下格式的命名: 如果我們要登入本機的 MySQL 資料庫,只需要輸入以下命令即可:
mysql -u root -p
按回車確認, 如果安裝正確且 MySQL 正在執行, 會得到以下響應:
Enter password:
若密碼存在(“tToQCX<h,1/h” 就是初始密碼), 輸入密碼登入, 不存在則直接按回車登入。登入成功後你將會看到
Welecome to the MySQL monitor...
的提示語。 然後命令提示符會一直以 mysq> 加一個閃爍的游標等待命令的輸入, 輸入 exit 或 quit 退出登入。 9.忘記密碼,或者修改密碼問題解決方案 9.1) 如果你安裝完成後,使用安裝過程隨機生成的密碼登入,執行命令都是失敗的,都會給出如下提示 比如輸入:
mysql> SELECT 1;
會有如下提示資訊
ERROR 1820 (HY000): You must reset your password using ALTER USER
statement before executing this statement.
9.2) 出現這種問題,我的是因為我不知道當初設定的root密碼,我想改密碼為"root",所以還需要如下操作:
- 登陸資料庫: mysql –u root –p
- 再輸入root的初始密碼:
- 更改密碼:
mysql> ALTER USER USER() IDENTIFIED BY 'root';
有此提示之後就可以用root密碼進行登入了!! 9.3) 但是,當你在客戶端Navicat,使用root使用者(密碼root)進行建立新的連線的時候會發現報錯,報錯資訊如下
1251--Client does not support authentication protocol requested by server
此時還需要使用DOS命令進入資料庫然後進行幾步操作才可以
- 更改加密方式:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
- 更改密碼:該例子中root為新密碼:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
- 重新整理:
mysql> FLUSH PRIVILEGES;
之後mysql的使用者root,密碼就變成了root,以後可以用這個賬號連結資料庫了!!! 建立連線也不會報錯了!