Mysql學習筆記:5.5升級至8.0版本


一、背景

今日重溫 SQL 練習題,發現很多必須基於窗口函數來書寫,例如:row_number() over(partition by col_001 order by col_002),然而 MySQL5.5 不支持,只能通過變量 @var 的方式實現,略顯麻煩。

遂更新之。

二、卸載5.0

由於之前是用的安裝包直接安裝,所以從控制面板,或者騰訊管家-卸載軟件就可以卸載完成。

最后將注冊表、安裝文件夾一並清理干凈。

三、安裝8.0

1.下載軟件

-- MySQL官網
https://dev.mysql.com/downloads/mysql/

-- 目前最新
MySQL Community Server 8.0.27

這里注意區分:

  • zip版本:壓縮包版本,下載可以直接使用
  • msi版本:安裝軟件版本,可執行,類似於exe可執行文件

此處,我選擇 zip 版本,看過其他文章,減少一些不必要麻煩。

2.解壓縮

解壓縮到本地目錄下。

D:\Program Files\MySQL8.0\mysql-8.0.27-winx64\mysql-8.0.27-winx64\

注意:當前版本無需按照其他版本,創建 my.ini 文件。

3.安裝

使用管理員權限打開 cmd 命令行。

  • 切換至安裝目錄下
# 切換到D盤
cd /d d:

# 再切換到bin目錄下
cd D:\Program Files\MySQL8.0\mysql-8.0.27-winx64\mysql-8.0.27-winx64\bin
  • 執行安裝
# 首先
mysqld --install
# Service successfully installed.

# 緊接着
mysqld --initialize --console
# root@localhost: iehDwh,Mn1l9

2022-01-14T08:09:17.060899Z 0 [System] [MY-013169] [Server] D:\ProgramFiles\mysql-8.0.27-winx64\mysql-8.0.27-winx64\bin\mysqld.exe (mysqld 8.0.27) initializing of server in progress as process 30764
2022-01-14T08:09:17.164441Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-01-14T08:09:23.850497Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-01-14T08:09:39.426829Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1 is enabled for channel mysql_main
2022-01-14T08:09:39.430706Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1.1 is enabled for channel mysql_main
2022-01-14T08:09:39.588486Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Skn<VWSI>4sN

此時會自動安裝,並創建 root 用戶以及隨機密碼。

切記:復制密碼!!!復制密碼!!!復制密碼!!!

切記:復制密碼!!!復制密碼!!!復制密碼!!!

切記:復制密碼!!!復制密碼!!!復制密碼!!!

  • 啟動服務
net start mysql
# MySQL 服務正在啟動...
# MySQL 服務已經啟動成功。

四、登錄

  • 輸入密碼進行登錄
mysql -u root -p
# 輸入剛剛復制的密碼
  • 修改密碼
alter user user() identified by "123456";
  • 顯示當前所有的庫
show databases;
  • 選擇庫
use mysql;

五、使用 SQLyog or Navicat 連接

連接的時候發現報錯:

-- 提示
caching_sha2_password

分析及查找相關資料后,發現 MySQL8.0 采用新的更安全的驗證方式。

登錄 mysql 修改為舊版本的登錄方式。

-- 查詢
select user, host from user;

-- 修改密碼及登錄方式
alter user root@localhost identified with mysql_native_password by "123456";

-- 刷新同步內存
flush privileges;

六、其他報錯

安裝過程中還遇到另外一個報錯問題:

-- 無法啟動此程序,因為計算機中丟失VCRUNTIME140_1.dll。嘗試重新安裝該程序一解決問題

解決辦法為:微軟官網下載安裝 Visual C++ 即可。

-- 微軟官網下載安裝 Visual C++
https://docs.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist?view=msvc-170

七、OK!!!

可以愉快的玩耍了!!

繼續刷題!!接着舞。。。

參考鏈接:最新Mysql 8.0.27安裝指南

參考鏈接:MySQL8.0的caching_sha2_password問題

參考鏈接:無法啟動此程序,因為計算機中丟失VCRUNTIME140_1.dll。嘗試重新安裝該程序一解決問題。


免責聲明!

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



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