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