在NT家族 (Windows NT,2000,XP,2003)中,建议将MySQL安装为Windows服务,当Windows启动、停止时,MySQL也自动启动、停止。还可以从命令行使用NET命令,或使用图形Services工具来控制AMySQL服务器。
在Windows控制面板(Windows 2000,XP和Server 2003的)中可以看见Services工具(Windows Service Control Manager)。建议从命令行安装活卸载服务器时关闭Services工具。这样可以防止许多错误。
安装MySQL Windows服务之前,应当使用下面的命令先停止当前正运行的服务器:
C:\> C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqladmin -u root shutdown
注释:如果MySQL root用户账户有密码,你需要调用命令 C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqladmin -u root -p shutdown并根据提示输入密码。
该命令调用MySQL管理工具mysqladmin,连接服务器并告知它关闭服务。该命令使用MySQL root用户连接,这是MySQL权限系统中的默认管理账户。请注意MySQL权限系统中的用户完全独立于Windows下的登录用户。
使用该命令安装服务器
C:\> mysqld --install
如果只使用服务器名安装mysqld时有问题,尝试使用全路径名来安装。例如:
C:\> C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld --install
你还可以将MySQL bin目录的路径加到Windows系统PATH环境变量中:
· 右击Windows桌面上的My Computer(我的计算机)图标,选择
· 然后从出现的 菜单中选择 ,然后点击 ( 按钮。
· 选择System Variables(系统变量)下面的 ,然后点击 ( 按钮。将弹出 对话框。
· 将光标放到标记Variable Value(变量值)处的文本的后面。(使用End键确保光标位于文本的最后)。然后输入MySQL bin目录 的完整路径(例如,C:\Program Files\MySQL\MySQL Server 5.1\bin),请注意应使用分号将该路径与该域内的其它值隔离开。一次关闭该对话框和各个对话框,点击 直到打开的所有对话框被关闭。你现在可以在DOS提示符下从系统的任何目录输入MySQL可执行程序名来调用MySQL可执行程序,而不必提供路径名。包括服务器、MySQL客户端和所有MySQL命令行实用程序,例如mysqladmin和mysqldump。
· 请注意在同一个机器上运行多个MySQL服务器时,不需要在Windows PATH中加入MySQL bin目录。
警告:编辑系统PATH时必须特别注意;意外删除或修改已有路径值会造成系统故障甚至瘫痪。
服务安装命令不会启动服务器。在本节后面将给出相关指令。
安装服务时,可以使用MySQL 5.1中的下面的参数:
· 可以直接在--install选项后面指定服务名。默认服务名是MySQL。
· 如果给出了服务名,后面可以跟一个选项。一般情况,应当为defaults-file=file_name,指定选项文件的名称,服务器启动时应当从中读取选项。
可以使用单个选项代替--defaults-file,但是不提倡这样做。--defaults-file更加灵活一些,因为你可以将多个服务器启动选项放入命名的选项文件中。
· 可以在服务名后面指定一个--local-service选项。这样服务器运行时使用LocalService Windows账户,只具有有限的系统权限。该账户只适用于Windows XP或更新版本。如果服务名后面同时跟有--defaults-file和--local-service,二者可以按任何顺序排放。
对于Windows MySQL服务器,根据下面规则确定服务器使用的服务名和选项文件:
· 如果在服务安装命令中,没有在--install选项后面指定了服务名或使用默认服务名(MySQL),服务器则使用MySQL服务名并从标准选项文件的[mysqld]组读取选项。
· 如果在服务安装命令中,在--install选项后面指定的服务名不是默认服务名(MySQL)。则从具有相同服务名的组中读取选项,并从标准选项文件读取选项。
服务器还从标准选项文件的[mysqld]组读取选项。你可以使用[mysqld]组中的选项用于所有MySQL 服务,还可以使用具有相同服务名的组,用于该服务名所对应的服务器。
· 如果在服务安装命令中,在服务名后面指定了--defaults-file选项,服务器只从命名文件的[mysqld]组中读取选项,忽略标准选项文件。
对于更复杂的例子可以考虑使用命令:
C:\> C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld --install MySQL --defaults-file=C:\my-opts.cnf
该命令中,--install选项后面给出了默认服务名(MySQL)。如果未给出--defaults-file选项,该命令可以让服务器从标准选项文件的[mysqld]组中读数。由于提供了--defaults-file选项,服务器只从命名文件的[mysqld]组读取选项。
还可以在启动MySQL服务之前,在Windows Services工具中指定启动参数选项。
MySQL服务器安装为服务后,Windows启动时自动启动服务。还可以从Services工具直接启动服务,或使用命令NET START MySQL。NET命令忽略大小写。
做为服务运行时,mysqld不能访问控制台窗口,因此看不见任何消息。如果mysqld未启动,检查错误日志看看服务器是否写入了显示问题原因的任何消息。错误日志位于MySQL数据目录中(例如,C:\Program Files\MySQL\MySQL Server 5.1\data),是带后缀.err的文件。
如果MySQL服务器安装为服务,并且服务正运行,Windows关闭时自动停止服务。还可以通过Services工具、NET STOP MySQL命令或 mysqladmin shutdown命令手动停止服务器。
如果不想在引导过程中自动启动服务,还可以将服务设置为手动启动模式。实现的方法是使用--install-manual选项而非--install选项:
C:\> C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld --install-manual
要想卸载服务器,如果服务正运行则应首先使用命令NET STOP MYSQL停止服务。然后使用--remove选项卸载服务:
C:\> C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld --remove
如果mysqld不是服务,可以从命令行启动它。详细说明参见2.3.11节,“从Windows命令行启动MySQL”。
如果在安装过程中遇到问题,请参阅2.3.14节,“在Windows环境下对MySQL安装的故障诊断与排除”。