windows下MySQL免安裝版配置教程mysql-8.0.12-winx64.zip版本
- windows下MySQL免安裝版配置教程mysql-8.0.12-winx64.zip版本
- 第一步:從mysql官網下載此版本的mysql檔案
- 第二步,解壓檔案
- 第三步,分析檔案結構
- 第四步,配置
- 初始化mysql
- 註冊windows服務
- 登陸MySQL
- 修改預設密碼
- 特別提醒
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對服務進行操作
登陸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’;