您的位置:首页 > 数据库 > MySQL

以Windows服务方式启动MySQL

2009-05-30 13:31 477 查看
在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

如果只使用服务器名安装[b]mysqld

时有问题,尝试使用全路径名来安装[/b]

。例如:

C:/> C:/Program Files/MySQL/MySQL Server 5.1/bin/mysqld --install

你还可以将MySQL bin目录的路径加到Windows系统PATH环境变量中:

·         右击Windows桌面上的My Computer(我的计算机)
图标,选择Properties(属性)。

·         然后从出现的System Properties
菜单中选择Advanced(高级)标签
,然后点击Environment Variables
(环境变量)
按钮。

·         选择System Variables(
系统变量)下面的
Path(路径)
,然后点击Edit
(编辑)
按钮。将弹出Edit System Variable(编辑系统变量)
对话框。

·         将光标放到标记Variable Value
(变量值)处的
文本的后面。(使用End
键确保光标位于文本的最后)。然后输入MySQL bin目录   的完整路径(例如,C:/Program Files/MySQL/MySQL Server 5.1/bin),请注意应使用分号将该路径与该域内的其它值隔离开。一次关闭该对话框和各个对话框,点击OK
直到打开的所有对话框被关闭。你现在可以在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,一切顺利,启动成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息