MySql安裝(Windows版本)

1,下載Mysql

免安裝版本:   

https://dev.mysql.com/downloads/mysql/ 

https://downloads.mysql.com/archives/community/

下載完後,我們將 zip 包解壓到相應的目錄,這裏我將解壓後的文件夾放在 C:\web\mysql-8.0.11 下(這裏自定義就行,路徑中間不要有空格和中文)。

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

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

[client]
# 設置mysql客戶端默認字符集
default-character-set=utf8
 
[mysqld]
# 設置3306端口
port = 3306
# 設置mysql的安裝目錄
basedir=C:\\web\\mysql-8.0.11
# 設置 mysql數據庫的數據的存放目錄,MySQL 8+ 不需要以下配置,系統自己生成一個data文件夾存放數據,否則有可能報錯
# datadir=C:\\web\\sqldata    #注意,這行在 8.0+ 版本不需要,系統自動生成
# 允許最大連接數
max_connections=20
# 服務端使用的字符集默認爲8比特編碼的latin1字符集
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB

2,配置mysql環境變量 

上面安裝的是時候我們看到mysql安裝路徑是:C:\mysql-8.0.23-winx64

我的電腦-->右鍵—>屬性-->高級系統設置-->環境變量-->系統變量  

新建 MYSQL_HOME,路徑選擇mysql 解壓目錄

 

然後找到 Path 路徑,在 Path 變量中添加-->   ;%MYSQL_HOME%\bin;    

3,接下來我們來啓動下 MySQL 數據庫:

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

cd C:\mysql-8.0.23-winx64\bin

初始化數據庫: (此時會生成data目錄)

mysqld --initialize --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 就是初始密碼,root 是用戶名,後續登錄需要用到,你也可以在登陸後修改密碼

輸入以下安裝命令:mysql 可以省略不寫,默認名字就是 mysql

mysqld --install mysql

要啓動 輸入以下命令即可:

net start mysql

如果初始化失敗(沒有出現密碼即爲失敗)
則依次執行:
net stop mysql (停止運行)
mysqld --remove mysql (移除安裝)
手動刪掉 data文件夾   重新安裝
(忘了密碼可以手動刪掉data文件夾重新初始化)

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

退出登陸   exit;  (要帶分號)

修改密碼 

執行如下命令修改密碼,例如:修改新密碼爲:  123456

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
flush privileges; #每次修改數據之後都要執行該句命令
注意:注意需要執行 FLUSH PRIVILEGES 語句。 這個命令執行後會重新載入授權表。

如果你不使用該命令,你就無法使用新創建的用戶來連接mysql服務器,除非你重啓mysql服務器。

退出之後,用新密碼重新登陸,成功登陸!

其他命令

在user表中創建賬號

create user 'root'@'%' identified by 'root123';

查看數據庫中的用戶權限表

select host, user, authentication_string, plugin from user;

如果查看user表的root用戶Host字段是 localhost,說明root用戶只能本地登錄,

現在把他改成遠程登錄,執行如下命令,將localhost 修改爲  %  符號

update user set host='%' where user='root';

給指定IP授權遠程訪問,localhost 指只允許本地訪問,

#localhost 表示只允許本地訪問 
grant all privileges on *.* to 'root'@'localhost' with grant option;
# 允許所有 ip 遠程訪問(危險!) grant all privileges on
*.* to 'root'@'%' with grant option;

在另外一臺服務器上,使用 Navicat 連接 Mysql 8.0 +版本的服務,出現如下錯誤!

查找問題後發現

MySQL8.0 之前的版本密碼加密規則:mysql_native_password,

MySQL8.0 密碼加密規則:caching_sha2_password

把mysql用戶登錄密碼加密規則還原成 mysql_native_password. 

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;   #刷新命令  這樣就無需重啓服務

遠程客戶端重新鏈接

如果因爲防火牆的問題導致連接不上,需要添加入站規則,設置 3306 端口

 

參考文檔:

https://www.runoob.com/mysql/mysql-install.html  安裝文檔

https://www.runoob.com/w3cnote/windows10-mysql-installer.html   Windows下安裝文檔

https://blog.csdn.net/id145/article/details/103114904   參考文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章