在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安装的故障诊断与排除” 。
【gengv】我试了一下,开始确实出现了无法自动启动的现象,做了两处修改:
1、在Windows系统目录下,添加my.ini文件,内容如下:
[mysqld]
basedir=D:/DevSoft/MySQL/mysql-5.1.34/
datadir=D:/DevSoft/MySQL/mysql-5.1.34/data/
路径根据实际MySQL位置设定,这个ini文件不一定需要,可以反复试试。
2、通过更改Path,在命令行直接执行mysqld --install,虽然提示服务添加成功,但在启动的时候,会提示找不到配置文件。于是,我规规矩矩进入MySQL的bin目录下,执行mysqld --install,一切顺利,启动成功。