windows下安裝 mysql 8.0 以上版本以及遇到的問題


Windows 上安裝 MySQL

Windows 上安裝 MySQL 相對來說會較為簡單,這個鏈接 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-winx64.zip 下載 zip 包。

最新版本可以在 MySQL 下載 中下載中查看。

點擊 Download 按鈕進入下載頁面,點擊下圖中的 No thanks, just start my download. 就可立即下載:

 

下載完后,我們將 zip 包解壓到相應的目錄,這里我將解壓后的文件夾放在 C:\web\mysql-8.0.11 下。

接下來我們需要配置下 MySQL 的配置文件

打開剛剛解壓的文件夾 C:\web\mysql-8.0.11 ,在該文件夾下創建 my.ini 配置文件,編輯 my.ini 配置以下基本信息:

[mysql] # 設置mysql客戶端默認字符集 default-character-set=utf8 [mysqld] # 設置3306端口 port = 3306 # 設置mysql的安裝目錄 basedir=C:\web\mysql-8.0.11 # 設置mysql數據庫的數據的存放目錄 datadir=C:\web\sqldata # 允許最大連接數 max_connections=20 # 服務端使用的字符集默認為8比特編碼的latin1字符集 character-set-server=utf8 # 創建新表時將使用的默認存儲引擎 default-storage-engine=INNODB

bind-address = 127.0.0.1

接下來我們來啟動下 MySQL 數據庫:

以管理員身份打開 cmd 命令行工具,切換目錄:

cd C:\web\mysql-8.0.11\bin

初始化數據庫:

mysqld --initialize --console 或者
mysqld --initialize --user=root --console

執行完成后,會輸出 root 用戶的初始默認密碼,如:

... 2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ ...

APWCY5ws&hjQ 就是初始密碼,后續登錄需要用到,你也可以在登陸后修改密碼。

輸入以下安裝命令:

mysqld install

啟動輸入以下命令即可:

net start mysql

注意:執行安裝命令啟動命令時需以管理員身份啟動 cmd

登錄 MySQL

當 MySQL 服務已經運行時, 我們可以通過 MySQL 自帶的客戶端工具登錄到 MySQL 數據庫中, 首先打開命令提示符, 輸入以下格式的命名:

mysql -h 主機名 -u 用戶名 -p

參數說明:

  • -h : 指定客戶端所要登錄的 MySQL 主機名, 登錄本機(localhost 或 127.0.0。1)該參數可以省略;
  • -u : 登錄的用戶名;
  • -p : 告訴服務器將會使用一個密碼來登錄, 如果所要登錄的用戶名密碼為空, 可以忽略此選項。

如果我們要登錄本機的 MySQL 數據庫,只需要輸入以下命令即可:

mysql -u root -p

按回車確認, 如果安裝正確且 MySQL 正在運行, 會得到以下響應:

Enter password:

若密碼存在, 輸入密碼登錄, 不存在則直接按回車登錄。登錄成功后你將會看到 Welecome to the MySQL monitor... 的提示語。

然后命令提示符會一直以 mysq> 加一個閃爍的光標等待命令的輸入, 輸入 exit 或 quit 退出登錄。

 

修改密碼:(修改密碼的語法已經改變)

 ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'

 

Navicat連接不上 1251 client does no support authentic :

戶端使用navicat for mysql。本地安裝了mysql 8.0.12。但是在連接的時候提示:

 

主要原因是mysql服務器要求的認證插件版本與客戶端不一致造成的。

打開mysql命令行輸入如下命令查看,系統用戶對應的認證插件:

select host,user,plugin,authentication_string from mysql.user;

可以看到root用戶使用的plugin是caching_sha2_password,mysql官方網站有如下說明:

意思是說caching_sha2_password是8.0默認的認證插件,必須使用支持此插件的客戶端版本。

plugin的作用之一就是處理后的密碼格式和長度是不一樣的,類似於使用MD5加密和使用base64加密一樣對於同一個密碼處理后的格式是不一樣的。

解決方法

我不希望更新本地的客戶端版本,想直接使用原來的環境來鏈接。

解決方法是將root的plugin改成mysql_native_password。相當於降了一級。

mysql官方網站提供了從mysql_old_password升級到mysql_native_password,我們可以仿照這個。官方原文如下:

這里改成:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

這行代碼有兩層含義,第一:修改root的密碼為'root',摒棄原來的舊密碼。第二:使用mysql_native_password對新密碼進行編碼。

修改完成后再用客戶端登陸成功:

補充:

如果在修改插件的時候出現錯誤,可現將插件改為 mysql_old_password,然后再升級成mysql_native_password

 

參考地址:

http://www.runoob.com/mysql/mysql-install.html

https://blog.csdn.net/yi247630676/article/details/80352655

https://www.cnblogs.com/technologylife/p/6010205.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM