mysql 8 server windows 安裝經驗分享


windows下安裝一般分為文件/msi安裝文件

 本章我們說的是文件行的mysql server 安裝

 下載地址:https://dev.mysql.com/downloads/mysql/

下載完后,我們將 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:\\Program Files\\mysql-8.0.11
# 設置 mysql數據庫的數據的存放目錄,MySQL 8+ 不需要以下配置,系統自己生成即可,否則有可能報錯
# datadir=C:\\Program Files\mysql-8.0.11\\sqldata
# 允許最大連接數
max_connections=20
# 服務端使用的字符集默認為8比特編碼的latin1字符集
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB

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

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

cd C:\web\mysql-8.0.11\bin

初始化數據庫

mysqld --initialize --console

此時可能會出現The program can’t start because MSVCP140.dll is missing from your computer (缺少軟件導致的)

解決方案https://www.microsoft.com/zh-cn/download/details.aspx?id=48145 下載對應版本安裝即可

執行完成后,會輸出 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

注意: 在 5.7 需要初始化 data 目錄:

cd C:\web\mysql-8.0.11\bin 
mysqld --initialize-insecure 

初始化后再運行 net start mysql 即可啟動 mysql。

登錄 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:

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

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

數據庫創建完畢

首次登錄后會出如下問題:

show databases;   

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

需要修改密碼:

 alter user 'root'@'localhost' identified by '123456789!';

mysql8 授權遠程登陸

  常規授權方式對mysql8不起作用原因是:新版本將創建賬戶和賦權分開操作了

  創建賬戶:create user '用戶名'@'訪問主機' identified by '密碼';

create user 'test'@'%' identified by '123456789';

  賦予權限:grant 權限列表 on 數據庫 to '用戶名'@'訪問主機' ;(修改權限時在后面加with grant option)

grant all privileges on *.* to 'test'@'%' with grant option;
FLUSH PRIVILEGES;

以上遠程授權成功

navicate連接MySQL出現報錯client does not support authentication protocol requested by server consider ...

ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'test';
FLUSH PRIVILEGES;

其中password需要改成你自己的密碼,大概原因是MySQL8.0的加密方式改變了,但是比較老版本的navicate沒有來得及支持,因此需要將mysql設置為支持傳統的那種密碼加密,如果用比較低版本的MySQL,比如MySQL57應該就不會出現這種問題

參考資料:

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

mysql授權登陸:https://blog.csdn.net/li_0891/article/details/80915780 

mysql客戶端鏈接:https://blog.csdn.net/m_amazing/article/details/84313789


免責聲明!

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



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