大致步骤

使用绿色版zip压缩包安装的用户可以使用以下说明 手动安装MySQL。从ZIP压缩包安装MySQL的过程如下:
1、将主存档解压缩到所需的安装目录。
2、创建一个选项文件(配置文件)。
3、选择MySQL服务器类型。
4、初始化MySQL。
5、启动MySQL服务器。
6、确保默认用户帐号的安全。

下载地址:

链接:https://pan.baidu.com/s/1gaa6vTPi1dRTLoeuMe_EfA 
提取码:3bov

第一步:解压安装存档文件

要手动安装MySQL,请执行以下步骤:
1、如果你从以前的版本升级,请参考官方升级文档(https://dev.mysql.com/doc/refman/8.0/en/windows-upgrading.html),在开始升级过程之前。

2、确保自己是作为具有管理员权限的用户登录的。

3、选择安装位置。传统上,MySQL服务器安装在C:\ MySQL中。如果你没有在C:\ MySQL中安装MySQL,你必须在启动时指定 安装目录的路径 或 在一个配置文件中 指定 安装目录的路径。

4、将mysql压缩包解压缩到所选的安装位置。

第二步:创建配置文件

具体创建方法参照博文:(https://www.cnblogs.com/zhangxl1016/articles/14641206.html)
选项文件模板:

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

选择MySQL服务器类型

MySQL 8.0下的Windows可用服务器如下表所示。

Binary Description
mysqld 带有命名管道支持的优化二进制文件
mysqld-debug 类似于mysqld,但是编译时带有完整的调试和自动内存分配检查
  • 分布中的每个服务器都支持相同的存储引擎集。SHOW ENGINES语句显示给定服务器支持哪些引擎。
  • 所有Windows MySQL 8.0服务器都支持数据库目录的符号链接。
  • MySQL支持所有Windows平台上的TCP/IP。Windows上的MySQL服务器也支持命名管道,如果你在启动服务器时启用了named_pipe系统变量。有必要显式启用这个变量,因为有些用户在使用命名管道时遇到过关闭MySQL服务器的问题。默认情况下使用TCP/IP,而不考虑平台,因为在许多Windows配置中,命名管道比TCP/IP慢。

初始化数据目录

注意:不可手动创建 data 目录

在Windows上,使用以下命令之一:

bin\mysqld --initialize --console
bin\mysqld --initialize-insecure --console

注意:
1、--initialize-insecure不会生产随机密码。
2、最好通过管理员身份启动 命令行 或 dos窗口
3、若是一台物理机安装多个mysql服务器,极力推荐使用--defaults-file命令指定默认配置文件路径。

bin\mysqld --defaults-file=D:\database\mysql\mysql-5.7.30-3308\my.cnf --initialize-insecure --console

命令区别参考:mysql服务器之初始化数据目录(data)——手动创建data目录报错处理(https://www.cnblogs.com/zhangxl1016/articles/14646832.html)

执行示例

第一次启动服务器

启动前准备:

  • 假设MySQL安装在C:\Program Files\MySQL\MySQL Server 8.0的默认位置。如果MySQL安装在不同的位置,修改路径名即可。
  • MySQL服务器可以通过命令行手动启动。这可以在任何版本的Windows上完成。要从命令行启动mysqld服务器最好在 命令行(或“DOS窗口”) 中通过命令提示符进行测试。通过这种方式,可以在窗口中显示状态消息。如果配置有问题,这些消息可以使您更容易地识别和修复任何问题。
  • 启动MySQL之前,必须先初始化数据库。关于初始化过程的更多信息,请参见(https://www.cnblogs.com/zhangxl1016/articles/14646832.html)。

要启动服务器,进入mysq安装目录后输入以下命令:

bin\mysqld" --console

当服务器完成它的启动顺序时,你应该看到这样的东西,这表明服务器已经准备好服务客户端连接:

mysqld: ready for connections
Version: '8.0.25'  socket: ''  port: 3306

示例

服务器继续向控制台写入它产生的任何进一步的诊断输出。此时不可关闭此窗口。您可以打开一个新的控制台窗口,和服务器进行连接。
注意:
如果忽略--console选项,服务器将诊断输出写到数据目录(默认C: Program Files\MySQL\MySQL server 8.0\data)的错误日志中。错误日志是扩展名为.err的文件,可以使用--log-error选项设置。

修改root用户密码

先通过 .\bin\mysql -u root --skip-password 登录mysql服务器
示例:

登陆mysql服务器后输入

mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';

修改后记得刷新权限:

mysql>flush privileges;

详细信息参考:mysql服务器之初始化数据目录(data)——初始化后的root密码分配(https://www.cnblogs.com/zhangxl1016/articles/14646832.html)

关闭MySQL服务器:

方法一:进入mysql安装目录,执行下面命令

.\bin\mysqladmin -u root shutdown
  • 如果MySQL root用户帐户有密码,您需要使用-p选项调用mysqladmin,并在提示时提供密码。
  • 这个命令调用MySQL管理工具mysqladmin来连接服务器并告诉它关闭。该命令以MySQL root用户连接,该用户是MySQL授权系统默认的管理帐户。
  • MySQL授权系统中的用户完全独立于Microsoft Windows下的任何操作系统用户。
    示例

方法二:

由于此时mysql并没有安装为windows操作系统的服务,所以只要关闭mysqld启动命令行窗口即可。可以通过检查mysql端口,和mysqld进程状态确定是否关闭成功。

方法三:

查看mysqld.exe进程状态,通过命令tasklist或任务管理器界面即可。查看mysqld的PID方法参考(https://www.cnblogs.com/zhangxl1016/p/14654408.html)

启动失败解决:

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

自定义bin目录下工具mysql路径

注意:

  • 在手动编辑系统路径时,必须非常小心;意外删除或修改现有路径值的任何部分可能会导致系统故障,甚至无法使用。
  • 为了更容易的调用MySQL程序,你可以添加MySQL bin目录的路径名到你的Windows系统路径环境变量。添加成功后允许在DOS提示符下从系统上的任何目录输入MySQL可执行程序的名称来调用任何MySQL可执行程序,而不必提供路径。这包括服务器,mysql客户端和所有mysql命令行工具,如mysqladminmysqldump
  • 如果你在同一台机器上运行多个MySQL服务器,你不应该将MySQL bin目录添加到Windows路径中。

将MySQL作为Windows服务启动

注册为Windows服务原因:由于命令行启动的mysql服务器,不可以关闭命令行,否则mysql服务器自动关闭。
在Windows环境下,建议将MySQL安装为Windows服务,这样MySQL会在Windows启动和停止时自动启动和停止。安装为服务的MySQL服务器也可以使用NET命令或图形服务实用程序从命令行控制。一般来说,要将MySQL安装为Windows服务,您应该使用具有管理员权限的帐户登录。

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

安装服务

在安装MySQL作为Windows服务之前,你应该首先停止当前服务器

进入mysql安装目录使用以下命令将服务器安装为服务:

.\bin\mysqld --install

示例

service-installation命令不会启动服务器。

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

  • 您可以在--install选项之后立即指定服务名称。默认服务名称为“MySQL”。
  • 如果给定了服务名,则可以在后面跟一个选项。按照惯例,这应该是--defaults-file=file_name来指定一个选项文件的名称,服务在启动时从该文件中读取选项。除了--defaults-file之外,使用单个选项是可能的,但不鼓励使用。--defaults-file更灵活,因为它允许你通过将多个启动选项放在指定的选项文件中来指定服务器的启动选项。
  • 还可以在服务名后面指定--local-service选项。这将导致服务器使用具有有限系统特权的LocalService Windows帐户运行。如果--default -file和--local-service都在服务名后面给出,那么它们可以是任意顺序。

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

  • 如果service-installation命令没有指定服务名或--install选项后面的默认服务名(MySQL),服务器使用服务名"MySQL",从标准选项文件中的[mysqld]组读取选项。
  • 如果service-installation命令在--install选项后面指定了MySQL(默认的服务名)以外的服务名,服务器将使用该服务名。它从[mysqld]组和标准选项文件中与服务同名的组中读取选项。这使得你可以使用[mysqld]组的选项应该被所有的MySQL服务使用,并使用一个带有服务名称的选项组,由安装了该服务名称的服务器使用。
    例子:
    假设mysql5.5.9的mysqld以mysqld1的服务名运行,mysql8.0.25的mysqld以mysqld2的服务名运行。在这种情况下,您可以使用[mysqld1]组用于mysql5.5.9,[mysqld2]组用于mysql8.0.25。例如,你可以这样设置C:\my.cnf:
# options for mysqld1 service
[mysqld1]
basedir = C:/mysql-5.5.9
port = 3307
enable-named-pipe
socket = mypipe1

# options for mysqld2 service
[mysqld2]
basedir = C:/mysql-8.0.25
port = 3308
enable-named-pipe
socket = mypipe2

按照以下方式安装服务,使用完整的服务器路径名,以确保Windows为每个服务注册了正确的可执行程序:

C:\> C:\mysql-5.5.9\bin\mysqld --install mysqld1
C:\> C:\mysql-8.0.25\bin\mysqld --install mysqld2
  • 如果服务安装命令在服务名称后指定了--defaults-file选项,那么服务器读取选项的方式与前一项中描述的相同,只不过它只从指定的文件读取选项,而忽略标准选项文件。
    例子:
C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld"
          --install MySQL --defaults-file=C:\my-opts.cnf

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

注意:
在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启动都会自动启动该服务。服务也可以从服务实用程序立即启动,或者使用**sc start mysqld_service_namenet start mysqld_service_name*命令启动。SC和NET命令不区分大小写。

示例

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

如果您不希望在启动过程中自动启动服务,您还可以选择将服务器安装为手动服务。要做到这一点,请使用--install-manual选项而不是--install选项:

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

关闭服务

当MySQL服务器已经安装为服务,并且服务正在运行时,Windows在关闭时自动停止服务。也可以使用工具、**sc stop mysqld_service_namenet stop mysqld_service_name*命令停止服务器。

删除服务

要删除作为服务安装的服务器,首先要通过执行SC stop mysqld_service_nameNET stop mysqld_service_name来停止它。然后使用SC DELETE mysqld_service_name删除它:

C:\> SC DELETE mysql

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

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

如果mysqld不是作为服务运行,您可以从命令行启动它。

如果需要一个物理机启动多个MySQL实例作为Windows服务,参考博文:
(https://www.cnblogs.com/zhangxl1016/articles/14648511.html)

posted on 2021-04-12 15:54  哑吧  阅读(316)  评论(0编辑  收藏  举报