1. 程式人生 > >windows下MySQL免安裝版配置教程mysql-8.0.12-winx64.zip版本

windows下MySQL免安裝版配置教程mysql-8.0.12-winx64.zip版本

windows下MySQL免安裝版配置教程mysql-8.0.12-winx64.zip版本

第一步:從mysql官網下載此版本的mysql檔案

我是下載頁面
點選Download下載
這裡寫圖片描述
在這裡我們選直接下載
這裡寫圖片描述

第二步,解壓檔案

這裡,我把檔案解壓到了D:\dev目錄下,並稍微修改了下名字,把-x64去掉了,只保留到版本號。
這裡寫圖片描述

第三步,分析檔案結構

mysql8.0版本的檔案結構和5.7是一樣的,沒有提供初始化好的data資料夾,和沒有提供預設的my.ini檔案,這些都需要我們自己搞定了。
這裡寫圖片描述

第四步,配置

在mysql根目錄新建data資料夾

建立my.ini檔案

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL. [mysqld] #skip-grant-tables # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # These are commonly set, remove the # and set as required. # mysql根目錄 basedir = D:/dev/mysql-8.0.12 # 資料檔案存放目錄 datadir = D:/dev/mysql-8.0.12/data # 埠,預設3306 port = 3386 # 服務例項的唯一標識 # server_id = MySQL # 允許最大連線數 max_connections=200 # 允許連線失敗的次數。這是為了防止有人從該主機試圖攻擊資料庫系統 max_connect_errors=10 # 服務端使用的字符集預設為utf8mb4 character_set_server=utf8mb4 # 建立新表時將使用的預設儲存引擎 default-storage-engine=INNODB # 預設使用“mysql_native_password”外掛認證 default_authentication_plugin=mysql_native_password # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. join_buffer_size = 128M sort_buffer_size = 2M read_rnd_buffer_size = 2M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysql] # 設定mysql客戶端預設字符集 default-character-set=utf8mb4 [client] # 設定mysql客戶端連線服務端時預設使用的埠 port=3386 default-character-set=utf8mb4

配置好後文件結構如下:
這裡寫圖片描述

初始化mysql

遇到問題

初始化的時候,我遇到了麻煩,提示我找不到data目錄,可是data目錄我已經建立了。通過mysql官方文件才發現是basedir和datadir配置路徑寫法有問題
這裡寫圖片描述

一直以來我都是copy windows系統上顯示的路徑,在前幾個版本mysql初始化過程中沒有出現過找不到data目錄的情況。
basedir = D:\dev\mysql-8.0.12
datadir = D:\dev\mysql-8.0.12\data
現在目錄要這樣寫
basedir = D:/dev/mysql-8.0.12
datadir = D:/dev/mysql-8.0.12/data
或者
basedir = D:\\dev\\mysql-8.0.12
datadir = D:\\dev\\mysql-8.0.12\\data
所以大家在操作過程中,遇到問題,還是要多看看官方文件。
MySQL官方文件

繼續初始化MySQL

管理員執行cmd,並切換到mysql的bin目錄

mysqld –initialize

這裡寫圖片描述
如果初始化成功,data目錄下會生成很多檔案
這裡寫圖片描述

註冊windows服務

mysqld –install MySQL58 #註冊服務,MySQL58是服務名,根據自己的實際情況命名即可
mysqld –remove MySQL58 #移除服務
net start MySQL58 #啟動服務,也可以通過服務管理介面進行操作
net stop MySQL58 #停止服務,也可以通過服務管理介面進行操作

這裡寫圖片描述

也可以通過services.msc對服務進行操作
services.msc

登陸MySQL

因為我們不是使用的預設埠號,所以要使用-P指定埠號
臨時密碼在data目錄下,以.err結尾的檔案中。
mysql -uroot -P3386 -p

在這裡找到密碼,備用
這裡寫圖片描述
登入成功
這裡寫圖片描述

修改預設密碼

ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘1234’;
FLUSH PRIVILEGES;
這樣操作之後,就可以用新密碼進行登入了
這裡寫圖片描述

特別提醒

1

mysql8.0密碼採用了新的加密方式caching_sha2_password,這種加密方式在使用cmd的登入是沒有問題的,但是現在大多數客戶端還沒有更新,比如我用的navicat就連線不上(也可能我的版本太低)。
所以在配置檔案中加了一條配置,即:

預設使用“mysql_native_password”外掛認證
default_authentication_plugin=mysql_native_password

2

如果您在初始化資料庫的時候忘記了加上述配置,導致客戶端無法連線資料庫
可以在修改密碼的時候顯示指定加密外掛。

ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘1234’;