当前位置: 首页 > article >正文

Windows平台下如何手动安装MYSQL

这些说明适用于那些不使用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.kler.cn/a/465563.html

相关文章:

  • 在arm平台Euler系统上编译安装ffmpeg
  • 理解linux内核中的几种地址
  • dbeaver导入导出数据库(sql文件形式)
  • 软件需求规格是什么
  • Megatron - LM 怎么进行模型切分的,怎么匹配服务器的
  • C++编程库与框架实战——ZeroMQ消息队列
  • MATLAB中使用牛顿-拉夫逊法进行电力系统潮流计算
  • 高级RAG技巧(二)
  • 数据结构:双向循环链表
  • 开源数据集成平台白皮书重磅发布《Apache SeaTunnel 2024用户案例合集》!
  • DCU异构程序——带宽测试
  • 电子价签会是零售界的下一个主流?【新立电子】
  • 开发培训-慧集通(iPaaS)集成平台脚本开发Groovy基础培训视频
  • 如何设置禁止编辑PPT内容
  • idea无法安装插件
  • 微信小程序中使用 TypeScript 定义组件时,Component 函数确实需要多个类型参数
  • Mybatis02
  • 保护网站日常安全,网站监测能提供哪方面的帮助
  • 【剑指Offer刷题系列】判断对称二叉树
  • MySQL图形化界面工具--DataGrip
  • 高效自携式潜水装备,助力水下探索|鼎跃安全
  • windows C#-使用委托
  • 目标检测初始
  • 写好Prompt的一些原则总结
  • 【pytorch】现代循环神经网络-2
  • flutter 专题二十七 Flutter自动路由插件auto_route详解