win10 環境下 mysql 8.0.16 安裝文件
mysql最新版的資料庫和之前的資料庫,在安裝方面有些許差別
1. 首先去官網下載安裝包
下載地址: https://dev.mysql.com/downloads/mysql/

mysql下載
2. 解壓到安裝目錄 D:\MySQL\mysql-8.0.16-winx64

image.png
3. 建立my.ini和mysql資料的存放路勁data

image.png
my.ini的程式碼如下 [mysqld] #繫結IPv4,如果是0.0.0.0則表示任意IP都可以訪問,也可以指定可以訪問的IP bind-address = 0.0.0.0 # 設定mysql的安裝目錄,即你解壓縮安裝包的位置 basedir = D:\MySQL\mysql-8.0.16-winx64 # 設定mysql資料庫的資料的存放目錄 datadir = E:\development\MYSQL\data\8.0 # 設定埠號 port = 3306 # 回收空閒連線的時間 wait_timeout = 86400 # 允許最大連線數 max_connections = 200 # 資料庫 寫入的 資料包 最大值 max_allowed_packet = 512M # 允許連線失敗的次數。這是為了防止有人從該主機試圖攻擊資料庫系統 max_connect_errors=10 # 設定字符集為utf8 loose-default-character-set = utf8 # 服務端使用的字符集預設為UTF8 character-set-server=utf8 #開啟查詢快取 explicit_defaults_for_timestamp = true # 建立新表時將使用的預設儲存引擎 default-storage-engine=INNODB sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # mysql 8.0 以上預設的密碼加密方式 default_authentication_plugin = mysql_native_password [mysql] # 設定mysql客戶端預設字符集 default-character-set=utf8 [client] # 設定mysql客戶端連線服務端時預設使用的埠 port=3306 default-character-set=utf8
4. 新增環境變數

image.png
然後:在path中新增%MYSQL_HOME%\bin
5:以管理員的身份開啟cmd視窗跳轉路徑到:D:\MySQL\mysql-8.0.16-winx64\bin
5.1 初始化命令
mysqld --initialize --user=mysql --console
5.2 初始化完成之後,會生成一串隨機密碼

image.png
5.3 接著就是輸入 安裝命令進行服務的新增
mysqld -install # 服務刪除命令 # sc delete 服務名稱

image.png
5.4 啟動服務
輸入 net start mysql 啟動服務

image.png
5.5 登入資料庫
輸入 mysql -u root -p 進行登入資料庫,這時提示需要密碼,然後就是用你上面的隨機密碼登入(,f*9NlbqKm*u)

image.png
成功進入資料庫
5.6 修改密碼語句:
ALTER USER root@localhost IDENTIFIEDBY '123456'; 修改密碼為:123456
6安裝成功之後進入資料庫
6.1 使用Navicat 連線 報錯

image.png
6.2查詢資料發現:

image.png
由於新版本的資料庫密碼加密方式和老版本的不同,為了保證能使用navicat正常連線,需要修改mysql的加密方式
use mysql; select user,plugin from user where user ='root';  更改加密方式:ALTER USER'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 更新使用者密碼:ALTER USER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 重新整理許可權:FLUSH PRIVILEGES;
6.3 分別執行後如下,重新執行查詢結果如下,加密方式已經該改變。

image.png
6.4 重新開啟Navicat Premium 12,可連線成功。

image.png
6.5 然而,使用內網ip不能連線,繼續修改
6.5.1 建立一個新使用者用於遠端訪問
# 先檢視下當前的使用者 use mysql; select user,host,plugin from user;

image.png
6.5.2 建立新使用者
CREATE USER 'new_user'@'%' IDENTIFIED BY 'passwd';
6.5.3 在執行剛剛的查詢語句檢視一下使用者
select user,host,plugin from user;

image.png
多了一個我們剛剛新增的使用者 這裡host 是 % 代表可以任意ip訪問 plugin 一定是 mysql_native_password 不然客戶端連線不了(此處不是,需要修改,執行之前的更改方式),詳見:6.2

image.png
6.5.4 最終給使用者賦許可權 操作資料庫的許可權,這裡我賦的是全部的許可權
GRANT ALL ON *.* TO 'remote'@'%';
6.5.5 最後重新整理許可權
flush privileges;

image.png
至此!完成!

image.png