Windows平台下如何手动安装MYSQL

news2025/1/8 17:15:12

这些说明适用于那些不使用MySQL配置器应用程序来配置和设置MySQL服务器的用户;或手动进行其他更改的用户。但是呢大家建议使用MySQL配置器,因为配置器比较简单。

解压安装文件

要手动安装MySQL,请执行以下操作:

1、如果您从以前的版本升级,详情可见在Windows上升级MySQL,然后开始升级过程。

2、确保您已以具有管理员权限的用户身份登录。

3、选择一个安装位置。传统上,MySQL服务器安装在C:\mysql中。如果您没有在C:\mysql安装MySQL,则必须在启动期间或在选项文件中指定安装目录的路径。MSI将MySQL安装在C:\Program Files\MySQL\MySQL Server 8.4下。

4、将安装文件解压到所选的安装位置。有些工具可能会将文件解压缩到所选安装位置的文件夹中。如果发生这种情况,您可以将子文件夹的内容移动到所选的安装位置。

创建选项文件

如果在运行服务器时需要指定启动选项,可以在命令行上注明,或者放在一个选项文件中。对于每次服务器启动时使用的选项,您可能会发现使用一个选项文件来指定您的MySQL配置是最方便的。在以下情况下尤其如此:

1、安装或数据目录位于不同于默认位置(C:\Program Files\MySQL\MySQL Server 8.4C:\Program Files\MySQL\MySQL Server 8.4\data)。

2、您需要调整服务器设置,例如内存、缓存或InnoDB配置信息。

当MySQL服务器在Windows上启动时,它会在多个位置查找选项文件,例如Windows目录C:\和MySQL安装目录。Windows目录通常命名为C:\WINDOWS。您可以使用以下命令从WINDIR环境变量的值中确定其确切位置:

C:\> echo %WINDIR%

MySQL首先在my.ini文件中查找每个位置的选项,然后在my.cnf文件中查找。但是,为了避免混淆,最好只使用一个文件。如果您的PC使用的引导加载程序中,C: 盘不是启动盘,您唯一的选择是使用my.ini文件。无论您使用哪个选项文件,它都必须是明文文件。

注意:使用MySQL Configurator配置MySQL服务器时,它会在默认位置创建my.ini,并且执行MySQL Configurator的用户被授予对这个新my.ini文件的完全权限。换句话说,确保MySQL服务器用户有权读取my.ini文件。

您还可以使用MySQL发行安装包中包含的示例选项文件,可以使用任何文本编辑器(如记事本)创建和修改选项文件。例如,如果MySQL安装在E:\mysql中,数据目录在E:\mydata\data中,则可以创建一个包含[mysqld]部分的选项文件,以指定basedirdatadir选项的值:

[mysqld]
# set basedir to your installation path
basedir=E:/mysql
# set datadir to the location of your data directory
datadir=E:/mydata/data

Microsoft Windows路径名在选项文件中使用(正)斜杠而不是反斜杠指定。如果您确实使用反斜杠,请将它们加倍:

[mysqld]
# set basedir to your installation path
basedir=E:\\mysql
# set datadir to the location of your data directory
datadir=E:\\mydata\\data

ZIP归档不包括data目录。要通过创建数据目录并填充mysql系统数据库中的表来初始化MySQL安装,请使用--initialize或--initialize-insecure初始化MySQL。

如果您想在不同的位置使用数据目录,您应该将data目录的全部内容复制到新位置。例如,如果您想使用E:\mydata作为数据目录,您必须做两件事:

1、将整个data目录及其所有内容从默认位置(例如C:\Program Files\MySQL\MySQL Server 8.4\data)移动到E:\mydata

2、每次启动服务器时,使用--datadir选项指定新的数据目录位置。

选择MySQL服务器类型

下表显示了MySQL8.4中适用于Windows的可用服务器。

二进制描述
mysqld带有命名管道支持的优化二进制
mysqld-debug与mysqld类似,编译时启用了完整的调试信息和自动内存分配检查

发行版中的每个服务器都支持相同的存储引擎集。​​​​​​​SHOW ENGINES语句显示给定服务器支持哪些引擎。所有WindowsMySQL8.4服务器都支持数据库目录的符号链接。

MySQL在所有Windows平台上都支持TCP/IP。如果您在启用named_pipe系统变量的情况下启动服务器,Windows上的MySQL服务器也支持命名管道。有必要显式启用此变量,因为一些用户在使用命名管道时遇到关闭MySQL服务器的问题。默认情况下,无论平台如何,都使用TCP/IP,因为在许多Windows配置中,命名管道比TCP/IP慢。

初始化数据目录

如果您使用noinstall安装包安装MySQL,则不包含数据目录。要初始化数据目录。

第一次启动服务器

以下部分提供了从命令行或作为Windows服务启动MySQL服务器的更具体信息。

此处的信息主要适用于使用noinstall版本安装的MySQL,或者您希望手动配置和测试MySQL而不是使用MySQLConfigurator。

以下示例假定MySQL安装在C:\Program Files\MySQL\MySQL Server 8.4的默认位置下。如果您MySQL安装在其他位置,请调整示例中显示的路径名。

客户端有两种选择。他们可以使用TCP/IP,或者如果服务器支持命名管道连接,他们可以使用命名管道。 

如果服务器在启用shared_memory系统变量的情况下启动,Windows MySQL也支持共享内存连接。客户端可以使用--protocol=MEMORY选项通过共享记忆进行连接。

测试最好在控制台窗口(或“DOS窗口”)的命令提示符下完成。通过这种方式,您可以让服务器在容易看到的窗口中显示状态消息。如果您的配置有问题,这些消息使您更容易识别和修复任何问题。注:必须先初始化数据库,MySQL才能启动。

要启动服务器,请输入以下命令:

C:\> "C:\Program Files\MySQL\MySQL Server 8.4\bin\mysqld" --console

在启动时,您应该会看到与以下类似的消息(路径名和大小可能不同)。ready for connections消息表明服务器已准备好为客户端连接提供服务。

[Server] C:\mysql\bin\mysqld.exe (mysqld 8.0.30) starting as process 21236
[InnoDB] InnoDB initialization has started.
[InnoDB] InnoDB initialization has ended.
[Server] CA certificate ca.pem is self signed.
[Server] Channel mysql_main configured to support TLS. 
Encrypted connections are now supported for this channel.
[Server] X Plugin ready for connections. Bind-address: '::' port: 33060
[Server] C:\mysql\bin\mysqld.exe: ready for connections. 
Version: '8.0.30'  socket: ''  port: 3306  MySQL Community Server - GPL.

您现在可以打开一个新的控制台窗口来运行客户端程序。

如果省略--console选项,服务器会将诊断输出写入数据目录中的错误日志(C:\Program Files\MySQL\MySQL Server 8.4\data默认)。错误日志是扩展名为.err的文件,可以使用--log-error选项进行设置。

注:MySQL授权表中的初始root帐户没有密码。启动服务器后,您应该为其设置密码。

从Windows命令行启动MySQL

MySQL服务器可以从命令行手动启动。这可以在任何版本的Windows上完成。

要从命令行启动mysqld服务器,您应该启动一个控制台窗口(或“DOS窗口”)并输入以下命令:

C:\> "C:\Program Files\MySQL\MySQL Server 8.4\bin\mysqld"

到mysqld的路径可能因系统上MySQL的安装位置而异。

您可以通过执行以下命令停止MySQL服务器:

C:\> "C:\Program Files\MySQL\MySQL Server 8.4\bin\mysqladmin" -u root shutdown

注:如果MySQLroot帐户有密码,则需要用-p选项调起mysqladmin,并在出现提示时提供密码。

此命令调用MySQL管理实用程序mysqladmin连接到服务器并告诉它关停。该命令以MySQL root用户身份连接,这是MySQL授予系统中的默认管理帐户。

注:MySQL授权系统中的用户完全独立于Microsoft Windows下的任何操作系统用户。

如果mysqld没有启动,请检查错误日志,看看服务器是否在那里写入了任何消息来指示问题的原因。默认情况下,错误日志位于C:\Program Files\MySQL\MySQL Server 8.4\data目录。它是后缀为.err的文件,或者可以通过传入--log-error选项来指定。或者,您可以尝试使用--console选项启动服务器;在这种情况下,服务器可能会在屏幕上显示一些有用的信息来帮助解决问题。

最后一个选项是启动mysqld,使用--standalone和--debug选项。在这种情况下,mysqld写入一个日志文件C:\mysqld.trace,其中应该包含mysqld无法启动的原因。

使用mysqld--详细--help到mysqld支持的全部选项。

自定义MySQL工具的路径

警告:手动编辑系统PATH时必须非常小心;意外删除或修改现有PATH值的任何部分都可能导致系统故障甚至无法使用。

为了更容易调起MySQL程序,可以将MySQL目录的路径名添加到Windows系统PATH环境变量中:

1、在Windows桌面上,右键单击我的电脑图标,然后选择属性。

2、接下来从出现的系统属性菜单中选择高级选项卡,然后单击环境变量按钮。

3、在系统变量下,选择路径,然后单击编辑按钮。应出现编辑系统变量对话框。

4、将光标放在标记为可变值的空格中出现的文本的末尾。(使用End键确保光标位于该空格中文本的最末尾。)然后输入bin目录的完整路径名(例如C:\Program Files\MySQL\MySQL Server 8.4\bin),注意:必须有一个分号将此路径与此字段中存在的任何值分开。

依次关闭此对话框和每个对话框,单击确定,直到所有打开的对话框都被关闭。新的PATH值现在应该可用于您打开的任何新命令shell,允许您通过在DOS提示符下从系统上的任何目录键入其名称来调起任何MySQL的可执行程序,而无需提供路径。这包括服务器、mysql客户端和所有MySQL命令行实用程序,如mysqladmin和mysqldump。

如果在同一台计算机上运行多个MySQL服务器,则不应将MySQLbin目录添加到WindowsPATH

将MySQL作为Windows服务启动

在Windows上,运行MySQL的推荐方法是将其安装为Windows服务,以便MySQL在Windows启动和停止时自动启动和停止。作为服务安装的MySQL服务器也可以使用NET命令或图形服务实用程序从命令行进行控制。通常,要将MySQL安装为Windows服务,您应该使用具有管理员权限的帐户已登录。

服务实用程序(Windows服务控制管理器)可以在Windows控制面板中找到。为避免冲突,建议在从命令行执行服务器安装或删除操作时关闭服务实用程序。

安装服务

在将MySQL安装为Windows服务之前,如果当前服务器正在运行,您应该首先使用以下命令停止它:

C:\> "C:\Program Files\MySQL\MySQL Server 8.4\bin\mysqladmin"
          -u root shutdown

注意:如果MySQLroot帐户有密码,则需要用-p选项调起mysqladmin,并在出现提示时提供密码。

此命令调用MySQL管理实用程序mysqladmin连接到服务器并告诉它关停。该命令以MySQLroot用户身份连接,这是MySQL授予系统中的默认管理帐户。MySQL授权系统中的用户完全独立于Windows下的任何操作系统用户。

使用以下命令将服务器安装为服务,service-installation命令不会启动服务器:

C:\> "C:\Program Files\MySQL\MySQL Server 8.4\bin\mysqld" --install

安装服务时可以使用以下附加参数:

1、您可以在--install选项后立即指定服务名称。默认服务名称为MySQL

2、如果给出了服务名称,则可以在其后面加上一个选项。按照惯例,这应该--defaults-file=file_name指定选项文件的名称,服务器在启动时应该从该文件中读取选项。可以使用--defaults-file以外的单个选项,但不鼓励使用。--defaults-file更灵活,因为它允许您通过将服务器的多个启动选项放在命名的选项文件中来指定它们。

3、您还可以在服务名称后面指定--local-service选项。这会导致服务器使用具有有限系统权限的LocalServiceWindows帐户运行。如果服务名称后面同时给出--defaults-file和--local-service,则它们可以按任何顺序排列。

对于作为Windows服务安装的MySQL服务器,以下规则确定服务器使用的服务名称和选项文件:

1、如果service-installation命令没有指定服务名称或--install选项后的默认服务名称(MySQL),则服务器使用MySQL的服务名称并从标准选项文件中的[mysqld]组中读取选项。

2、如果service-installation命令指定了--install选项后面MySQL以外的服务名称,则服务器将使用该服务名称。它从[mysqld]组和标准选项文件中与服务同名的组中读取选项。这使您可以使用[mysqld]组来获取所有MySQL服务都应该使用的选项,并使用具有服务名称的选项组来安装该服务名称的服务器。

3、如果service-installation命令在服务名称后指定--defaults-file选项,则服务器读取选项的方式与上一项中描述的方式相同,只是它仅从命名文件中读取选项并忽略标准选项文件。

作为一个更复杂的示例,请考虑以下命令:

C:\> "C:\Program Files\MySQL\MySQL Server 8.4\bin\mysqld"
          --install MySQL --defaults-file=C:\my-opts.cnf

这里,默认服务名称(MySQL)在--install选项之后给出。如果没有给出--defaults-file选项,此命令将导致服务器从标准选项文件中读取[mysqld]组。但是,由于存在--defaults-file选项,服务器将从[mysqld]选项组中读取选项,并且仅从命名文件中读取选项。

在Windows上,如果使用--defaults-file和--install选项启动服务器,则必须首先--install。否则,mysqld.exe将尝试启动MySQL服务器。

在启动MySQL服务之前,还可以在Windows服务实用程序中将选项指定为启动参数。

最后,在尝试启动MySQL服务之前,请确保运行服务的操作系统用户的用户变量%TEMP%和%TMP%(以及%TMPDIR%,如果已经设置)指向用户具有写入权限的文件夹。运行MySQL服务的默认用户是LocalSystem,其%TEMP%和%TMP%的默认值是C:\Windows\Temp,默认情况下LocalSystem具有写入权限的目录。
但是,如果对默认设置有任何更改(例如,对运行服务的用户或对提到的用户变量的更改,或者使用--tmpdir选项将临时目录放在其他地方),MySQL服务可能无法运行,因为对临时目录的写访问权限尚未授予正确的用户。

启动服务

将MySQL服务器实例作为服务安装后,每当Windows启动时,Windows都会自动启动该服务。该服务也可以立即从服务实用程序启动,或者使用sc startmysqld_service_name或NET STARTmysqld_service_name命令。SC和NET命令不区分大小写。

作为服务运行时,mysqld无法访问控制台窗口,因此在那里看不到任何消息。如果mysqld没有启动,请检查错误日志,看看服务器是否在那里写入了任何消息来指示问题的原因。错误日志位于MySQL数据目录(例如,C:\Program Files\MySQL\MySQL Server 8.4\data)。它是后缀为.err的文件。

当MySQL服务器作为服务安装并且服务正在运行时,Windows会在Windows关闭时自动停止服务。也可以使用Services实用程序、sc stopmysqld_service_name命令、NET STOP mysqld_service_name命令或mysqladmin关闭命令手动停止服务器。

如果您不希望在引导过程中服务未开始,您也可以选择将服务器安装为手动服务。为此,请使用--install-manual选项而不是--install选项:

C:\> "C:\Program Files\MySQL\MySQL Server 8.4\bin\mysqld" --install-manual

删除服务

要删除作为服务安装的服务器,首先通过执行SC STOPmysqld_service_nameNET STOPmysqld_service_name停止它。然后使用SC DELETEmysqld_service_name删除它:

C:\> SC DELETE mysql

或者,使用mysqld --remove选项删除服务。

C:\> "C:\Program Files\MySQL\MySQL Server 8.4\bin\mysqld" --remove

测试MySQL安装

您可以通过执行以下任何命令来测试MySQL服务器是否正常工作:

C:\> "C:\Program Files\MySQL\MySQL Server 8.4\bin\mysqlshow"
C:\> "C:\Program Files\MySQL\MySQL Server 8.4\bin\mysqlshow" -u root mysql
C:\> "C:\Program Files\MySQL\MySQL Server 8.4\bin\mysqladmin" version status proc
C:\> "C:\Program Files\MySQL\MySQL Server 8.4\bin\mysql" test

 如果mysqld对来自客户端程序的TCP/IP连接响应很慢,则可能是您的DNS有问题。在这种情况下,启动mysqld时启用skip_name_resolve系统变量,并仅使用MySQL授权表的Host列中的localhost和IP地址。(确保存在指定IP地址的帐户,否则您可能无法连接。)

您可以强制MySQL客户端使用命名管道连接,而不是TCP/IP,方法是指定--pipe或--protocol=PIPE选项,或指定.(句点)作为主机名。如果不想使用默认管道名称,请使用--socket选项指定管道名称。

如果您已为root帐户设置密码、删除匿名帐户或创建新用户帐户,则要连接到MySQL服务器,您必须使用相应的-u和-p选项以及前面显示的命令。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2272711.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[paddle] 非线性拟合问题的训练

利用paddlepaddle建立神经网络,模拟有限个数据的非线性拟合 本文仍然考虑 f ( x ) sin ⁡ ( x ) x f(x)\frac{\sin(x)}{x} f(x)xsin(x)​ 函数在区间 [-10,10] 上固定数据的拟合。 import paddle import paddle.nn as nn import numpy as np import matplotlib.…

GWAS数据和软件下载

这部分主要是数据获取,以及软件配置方法。 一、配套数据和代码 数据和代码目前在不断的更新,最新的教程可以私信,我通过后手动发送最新版的pdf和数据代码。发送的压缩包,有电子版的pdf和数据下载链接,里面是最新的百度网盘的地址,下载到本地即可。然后根据pdf教程,结合配套的…

win32汇编环境,在对话框中画五边形与六边形

;运行效果 ;win32汇编环境,在对话框中画五边形与六边形 ;展示五边形与六边形的画法 ;将代码复制进radasm软件里,直接编译可运行.重要部分加备注。 ;下面为asm文件 ;>>>>>>>>>>>>>>>>>>>>>>>>>&g…

springcloud 介绍

Spring Cloud是一个基于Spring Boot的微服务架构解决方案集合,它提供了一套完整的工具集,用于快速构建分布式系统。在Spring Cloud的架构中,服务被拆分为一系列小型、自治的微服务,每个服务运行在其独立的进程中,并通过…

如何进行千万级别数据跑批优化

目录 背景问题分析解决方案 数据库问题分片广播分批获取事务控制充分利用服务器资源MQ消费任务并行动态调整并发度失败任务如何继续下游接口时间线程安全异常 & 监控 总结 背景 定义:跑批是指在特定日期对大量数据进行定时处理的过程。在金融领域,…

电脑提示wlanapi.dll丢失怎么办?wlanapi.dll丢失的多种解决方法

电脑提示wlanapi.dll丢失?别担心,这里有多种解决方法! 作为软件开发领域的从业者,我深知电脑在运行过程中可能会遇到的各种问题,其中“wlanapi.dll丢失”这一报错信息就常常让用户感到困惑和不安。今天,我…

刷服务器固件

猫眼淘票票 大麦 一 H3C通用IP 注:算力服务器不需要存储 二 刷服务器固件 1 登录固定IP地址 2 升级BMC版本 注 虽然IP不一致但是步骤是一致的 3 此时服务器会出现断网现象,若不断网等上三分钟ping一下 4 重新登录 5 断电拔电源线重新登录查看是否登录成功

深入Android架构(从线程到AIDL)_13 线程安全的化解之例

目录 7、 线程安全的化解之例 复习:Android单线程环境 非单线程环境的线程安全议题 范例-1 范例-2​编辑 同步(Synchronization)化解线程安全的问题 7、 线程安全的化解之例 复习:Android单线程环境 View是一个单线程的类;其意味着&…

每日AIGC最新进展(80): 重庆大学提出多角色视频生成方法、Adobe提出大视角变化下的人类视频生成、字节跳动提出快速虚拟头像生成方法

Diffusion Models专栏文章汇总:入门与实战 Follow-Your-MultiPose: Tuning-Free Multi-Character Text-to-Video Generation via Pose Guidance 在多角色视频生成的研究中,如何实现文本可编辑和姿态可控的角色生成一直是一个具有挑战性的课题。现有的方法往往只关注单一对象的…

【多线程初阶篇¹】线程理解| 线程和进程的区别

目录 一、认识线程Thread 1.为啥引入线程 2.线程理解 🔥 3.面试题:线程和进程的区别 一、认识线程Thread 1.为啥引入线程 为了解决进程太重量的问题 解释(为什么说线程比进程更轻量?/为什么说线程创建/销毁开销比进程小&#…

Cursor 实战技巧:好用的提示词插件Cursor Rules

你好啊,见字如面。感谢阅读,期待我们下一次的相遇。 最近在小红书发现了有人分享这款Cursor提示词的插件,下面给各位分享下使用教程。简单来说Cursor Rules就是可以为每一个我们自己的项目去配置一个系统级别的提示词,这样在我们…

Tomcat解析

架构图 核心功能 Tomcat是Apache开源的轻量级Java Servlet容器,其中一个Server(Tomcat实例)可以管理多个Service(服务),一个Service包含多个Connector和一个Engine,负责管理请求到应用的整个流…

List-顺序表--2

目录 1、ArrayList 2、ArrayList构造方法 3、ArrayList常见方法 4、ArrayList的遍历 5、ArrayList的扩容机制 6、ArrayList的具体使用 6.1、杨辉三角 6.2、简单的洗牌算法 1、ArrayList 在集合框架中,ArrayList 是一个普通的类,实现了 List 接口…

【C++】字符数|组的输出详解与拓展

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯字符数组的输出:三种方法解析方法1:直接输出字符串代码示例解析与特点 方法2:使用while循环逐字符输出代码示例解析与特点 方法3&#x…

解决iNodeClient客户端出现查询SSL VPN网关参数失败的问题

一、问题: 使用iNodeClient连接VPN报错,校验网关、用户名、密码都没问题,仍然抱错查询SSL VPN网关参数失败,请检查网络配置或联系管理员。 二、解决方案: 2.1 方案一 重启iNodeAuthService服务 sudo /Library/Star…

数树数(中等难度)

题目: 解题代码: n,qmap(int,input().split())#分别输入层数和路径数量 for i in range(q):sinput()#输入“L”或“R”x1for j in s:if j "L":xx*2-1 #!!!规律else:xx*2print(x)

CAN201 Introduction to Networking(计算机网络)Pt.5 网络安全

文章目录 6. Network Security(网络安全)6.1 What is network security(什么是网络安全)6.2 Principles of cryptography(密码学的原则)6.2.1 Breaking an encryption scheme(破解加密方案&…

【ArcGIS Pro二次开发实例教程】(2):BSM字段赋值

一、简介 一般的数据库要素或表格都有一个BSM字段,用来标识唯一值。 此工具要实现的功能是:按一定的规律(前缀中间的填充数字OBJECT码)来给BSM赋值。 主要技术要点包括: 1、ProWindow的创建,Label,Comb…

ros2笔记-2.5.3 多线程与回调函数

本节体验下多线程。 python示例 在src/demo_python_pkg/demo_python_pkg/下新建文件,learn_thread.py import threading import requestsclass Download:def download(self,url,callback):print(f线程:{threading.get_ident()} 开始下载:{…

C语言练习:求数组的最大值与最小值

文章目录 1. 提出任务2. 完成任务2.1 方法一:通过返回结构体指针来间接返回结果2.1.1 编写程序,实现功能2.1.2 运行程序,查看结果 2.2 方法二:通过参数传递数组,并在函数中修改传入的参数2.2.1 编写程序,实…