Windows 离线安装 MySQL 8
目录
1. 下载离线安装包
2. 上传解压
3 配置 my.ini 文件
4 设置系统环境变量
5 安装 MySQL
6 登录 MySQL
客户环境是内网环境,不能访问外网,只能离线安装 MySQL 了。
1. 下载离线安装包
MySQL 离线压缩包官网下载地址:MySQL :: Download MySQL Community Server (Archived Versions)

此次安装 8.0.20 版本!
2. 上传解压
解压后的文件目录:

可以看到,默认是没有 data 文件夹和 my.ini 文件的,则需要我们自己手动创建这两个目录和文件即可:

3 配置 my.ini 文件
[mysqld]
# 设置 3306 端口
port=3306# 设置 mysql 的安装目录,即 bin 目录
basedir="mysql 安装目录"# 设置 mysql 数据库的数据的存放目录,即 data 目录
datadir="mysql 安装目录再加上 \data"# 允许最大连接数
max_connections=200# 允许连接失败的次数
max_connect_errors=10# 服务端使用的字符集默认为 utf8
character-set-server=utf8# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB# 默认使用 “mysql_native_password” 插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password[mysql]
# 设置 mysql 客户端默认字符集
default-character-set=utf8[client]
# 设置 mysql 客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
4 设置系统环境变量

5 安装 MySQL
以管理员身份启动 cmd 或 PowerShell 进行以下操作:
Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。PS C:\Users\Administrator> cd E:\keymanTech\dbs\mysql-8.0.20-winx64\bin
PS E:\keymanTech\dbs\mysql-8.0.20-winx64\bin> mysqld --initialize --console
2023-02-14T06:59:51.688125Z 0 [System] [MY-013169] [Server] E:\keymanTech\dbs\mysql-8.0.20-winx64\bin\mysqld.exe (mysqld 8.0.20) initializing of server in progress as process 16856
2023-02-14T06:59:51.688225Z 0 [ERROR] [MY-010338] [Server] Can't find error-message file 'E:\keymanTech\dbs\mysql-8.0.20-winx6in\share\errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
2023-02-14T06:59:51.689181Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2023-02-14T06:59:51.712993Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-02-14T06:59:52.262250Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-02-14T06:59:53.741675Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: s-fqTBh.=7?e
但是在安装过程中有报错信息:
[ERROR] [MY-010338] [Server] Can't find error-message file 'E:\xxx\mysql-8.0.20-winx6in\share\errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.

解决办法:
查了很多教程最后发现是转义字符出现了问题:MySQL Bugs: #90364: Can't find error-message file
因为我们在配置 MySQL 安装目录的时候,没有将安装目录配置到根目录下(就是 MySQL 解压文件根目录)或者没有加双斜杠:
- 错误路径:basedir="D:\\InstalledDevsoftware\\XXX" 或 D:\InstalledDevsoftware\XXX
- 正确路径:basedir="D:\\Devsoft\\mysql-8.0.20-winx64\\XXX"
还需要在 my.ini 多加一行内容:
······
# 设置 mysql 的安装目录,即 bin 目录
basedir="E:\\xxx\\mysql-8.0.20-winx64\\bin"# 设置 mysql 数据库的数据的存放目录,即 data 目录
datadir="E:\\xxx\\mysql-8.0.20-winx64\\data"lc-messages-dir="E:\\xxx\\mysql-8.0.20-winx64\\share\\english"
······
再次执行 mysqld --initialize --console 命令:

报另外一个错误信息: [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
解决办法:清空 data 文件夹下的内容即可!
再次执行 mysqld --initialize --console 命令:
PS E:\keymanTech\dbs\mysql-8.0.20-winx64\bin> mysqld --initialize --console
2023-02-14T07:17:13.196681Z 0 [System] [MY-013169] [Server] E:\keymanTech\dbs\mysql-8.0.20-winx64\bin\mysqld.exe (mysqld 8.0.20) initializing of server in progress as process 19932
2023-02-14T07:17:13.196777Z 0 [Warning] [MY-010339] [Server] Using pre 5.5 semantics to load error messages from E:\keymanTech\dbs\mysql-8.0.20-winx64\share\english\. If this is not intended, refer to the documentation for valid usage of --lc-messages-dir and --language parameters.
2023-02-14T07:17:13.197450Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2023-02-14T07:17:13.219796Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-02-14T07:17:13.717398Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-02-14T07:17:15.254780Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: h5(rJyMiFKn0
PS E:\keymanTech\dbs\mysql-8.0.20-winx64\bin> mysqld --install
Service successfully installed.
PS E:\keymanTech\dbs\mysql-8.0.20-winx64\bin> net start mysql
MySQL 服务正在启动 ...
MySQL 服务已经启动成功。

在任务管理器中库看到名为 MySQL 的服务:

6 登录 MySQL
用前面随机生成的密码登录:
PS E:\xxx\mysql-8.0.20-winx64\bin> mysql -u root -p
Enter password: ************# 修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';# 用新密码登录
PS E:\xxx\mysql-8.0.20-winx64\bin> mysql -u root -p
Enter password: **********

至此 MySQL 8 安装成功!!!
相关文章:
Windows 离线安装 MySQL 8
目录 1. 下载离线安装包 2. 上传解压 3 配置 my.ini 文件 4 设置系统环境变量 5 安装 MySQL 6 登录 MySQL 客户环境是内网环境,不能访问外网,只能离线安装 MySQL 了。 1. 下载离线安装包 MySQL 离线压缩包官网下载地址:MySQL :: Down…...
【前端攻城狮之vue基础】02路由+嵌套路由+路由query/params传参+路由props配置+replace属性+编程式路由导航+缓存路由组件
路由的基础知识1.路由简介2.路由基本使用3.嵌套路由4.传递路由的query传参# 5.传递路由的params参数6.路由的props传参配置7.路由router-link标签的replace属性8.编程式路由导航9.缓存路由组件1.路由简介 路由是一条条对应的key-value关系,key就是前端地址栏的路径…...
CHAPTER 1 Zabbix介绍及安装
Zabbix介绍及安装1.1 Zabbix监控1 为什么要监控1.1 网站可用性2 监控什么东西2.1 监控范畴3 怎么来监控3.1 远程管理服务器3.2 监控硬件3.3 查看cpu相关3.4 内存3.5 磁盘3.6 监控网络4 监控工具总览5 zabbix介绍5.1 zabbix的组成5.2 zabbix监控范畴1.2 安装zabbix1 环境检查2 安…...
认识V模型、W模型、H模型
软件测试与软件工程息息相关,软件测试是软件工程组成中不可或缺的一部分。 在软件工程、项目管理、质量管理得到规范化应用的企业,软件测试也会进行得比较顺利,软件测试发挥的价值也会更大。 要关注软件工程、质量管理以及配置管理与软件测试…...
excel ttest检测
1、excel函数含义 TTEST(array1,array2,tails,type) ▪ Array1: 第一组数据集 ▪ Array2: 第二组数据集 ▪ Tails: 用于定义所返回的分布的尾数: 1 代表单尾;2 代表双尾 ▪ Type: 用于定义 t-检验的类型: 1 代表成对检验;2 代表双样本等方差假设&am…...
PDFPrinting.Net操作进行细粒度控制
PDFPrinting.Net操作进行细粒度控制 PDFPrinting.Net能够容易且灵活地预测完美的打印结果以及用户文件的示例性显示。可以快速浏览.NET PDF打印中最关键的元素。如果用户需要获得更详细的概述,那么他可以查看快速入门手册,甚至是现有文档的详细概述参考。…...
SegPGD
在这项工作中,我们提出了一种有效和高效的分割攻击方法,称为SegPGD。此外,我们还提供了收敛性分析,表明在相同次数的攻击迭代下,所提出的SegPGD可以创建比PGD更有效的对抗示例。此外,我们建议应用我们的Seg…...
ESP-IDF + Vscode ESP32 开发环境搭建以及开发入门
ESP-IDF Vscode ESP32 开发环境搭建以及开发入门 文章目录ESP-IDF Vscode ESP32 开发环境搭建以及开发入门1. 前言2. 下载开发工具3. 配置工具4. 创建工程5. 解决vscode找不到头文件,波浪线警告6. 添加自己的组件6.1 组件说明6.2 添加项目组件6.3 添加扩展组件7. …...
SpringMvc的请求和响应
SpringMvc的数据响应 1.springmvc的数据相应方式 (1)页面跳转 直接返回字符串 通过ModelAndView对象返回 (2)回写数据 直接返回字符串 返回对象或集合 页面跳转 jsp页面 <% page contentType"text/html;charsetUTF-8&q…...
【Vue3】首页主体-面板组件封装
首页主体-面板组件封装 新鲜好物、人气推荐俩个模块的布局结构上非常类似,我们可以抽离出一个通用的面板组件来进行复用 目标:封装一个通用的面板组件 思路分析 图中标出的四个部分都是可能会发生变化的,需要我们定义为可配置主标题和副标题…...
部署 K8s 集群
1 .部署k8s的两种方式目前生产部署Kubernetes集群主要有两种方式:kubeadmKubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群。二进制包从github下载发行版的二进制包,手动部署每个组件&#x…...
关于北京君正:带ANC的2K网络摄像头用户案例
如果远程办公是您的未来,或者您经常通过视频通话与远方的朋友和亲戚交谈,那么您可以考虑购买网络摄像头以显著改善您的沟通。Anker PowerConf C200是个不错的选择。 Anker PowerConf C200专为个人工作空间而设计,能够以每秒30帧的速度拍摄2K…...
ccc-Backpropagation-李宏毅(7)
文章目录NotationBackpropagationForward passBackward passSummaryNotation 神经网络求解最优化Loss function时参数非常多,反向传播使用链式求导的方式提升计算梯度向量时的效率,链式法则如下: Backpropagation 损失函数计算为所有样本…...
找出字符串中第一个匹配项的下标-力扣28-java
一、题目描述给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。示例 1:输入:hayst…...
SpringBoot 监听Redis key过期回调
SpringBoot 监听Redis key过期回调 场景 Spring boot实现监听Redis key失效事件可应对某些场景例如:处理订单过期自动取消、用户会员到期… 开启Redis键过期回调通知 Redis默认是没有开启键过期监听功能的,需要手动在配置文件中修改。Linux操作系统 修…...
蓝桥杯C/C++VIP试题每日一练之回形取数
💛作者主页:静Yu 🧡简介:CSDN全栈优质创作者、华为云享专家、阿里云社区博客专家,前端知识交流社区创建者 💛社区地址:前端知识交流社区 🧡博主的个人博客:静Yu的个人博客 🧡博主的个人笔记本:前端面试题 个人笔记本只记录前端领域的面试题目,项目总结,面试技…...
四控、三管、一协调
四控指的是进度控制,质量控制,成本控制,变更控制。三管指的是合同管理,安全管理,资料管理。一协调指的是协调甲方,总包及设备材料供应方的关系。信息系统工程监理是指依法设立且具备相应资质的信息系统工程…...
jdk19下载与安装教程(win10)超详细
一、下载安装步骤 1、官网下载还需要注册,可以点【我的网盘】目录下载,目录也有其它低版本的,如果有需要大家根据需要自行选择。 2、下载后直接点击安装程序,点击【运行】。这里我使用的是64位的。 3、点击【下一步】。 4、默认安…...
来来来,手摸手写一个hook
hello,这里是潇晨,今天就带着大家一起来手写一个迷你版的hooks,方便大家理解hook在源码中的运行机制,配有图解,保姆级的教程,只求同学一个小小的👍,🐶。 第一步…...
【C++】AVL树
目录 1 简介 2 实现 2.1 框架构建 2.2 插入操作 2.2.1 平衡因子的更新 2.2.2 平衡因子异常时树的调整 3 检验 1 简介 AVL树基于二叉搜索树之上,又对其提出了平衡的要求,即:当向二叉搜索树插入新节点后,保证每个节点的左右…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...
如何配置一个sql server使得其它用户可以通过excel odbc获取数据
要让其他用户通过 Excel 使用 ODBC 连接到 SQL Server 获取数据,你需要完成以下配置步骤: ✅ 一、在 SQL Server 端配置(服务器设置) 1. 启用 TCP/IP 协议 打开 “SQL Server 配置管理器”。导航到:SQL Server 网络配…...
