停止MySQL服务Windows

51

我正在开发一个网站,需要刷新数据。因此必须停止MySQL服务。
如何停止该服务?

当我查看控制面板中的服务时,它已启动,但没有停止或重启选项。


2
其实,为什么你需要停止服务器才能刷新数据呢? - Sebas
开始操作:net start mysql在管理员模式下输入CMD:net stop mysql - Vijay
17个回答

71

在 Windows 上

如果您正在使用 Windows 操作系统,请打开命令提示符并输入以下内容:

停止 MySQL 服务:

net stop MySQL80 

启动MySQL服务:

net start MySQL80

在Linux上

# /etc/init.d/mysqld start
# /etc/init.d/mysqld stop
# /etc/init.d/mysqld restart

Fedora/Red Hat也支持此功能:

# service mysqld start
# service mysqld stop
# service mysqld restart

还有像Ubuntu或Arch Linux这样基于Systemd的发行版也支持此功能:

# systemctl start mysql
# systemctl stop mysql
# systemctl restart mysql

我知道这个答案晚了,但我希望它能对某些人有所帮助。


如果在CENTOS7上,服务命令被systemctl start/stop/restart <服务名称>所替代。 - Evan Bechtol
7
服务名无效。键入NET HELPMSG 2185可以获取更多帮助信息。 - Green
11
在Windows上,针对版本5.7,它是MySQL57。 - Anirudha Gupta
10
在 Windows 10 操作系统上,使用 MySQL 8.0 版本时,MySQL 服务名称为 MySQL80。可以在终端中输入命令 NET STOP MySQL80 停止 MySQL 服务,然后输入 NET START MySQL80 启动 MySQL 服务。 - Andrew Krizhanovsky
1
对我来说,服务名称只是“mysql”。 - isimmons

46
您可以在services.msc中将其启动类型设置为手动。这样,除非需要,否则它不会自动启动。只需从services.msc中获取服务的名称,如下所示: enter image description here 您还可以相当容易地创建批处理文件来启动和停止服务。现在在批处理文件中使用此名称。
您的start.bat:
net start "mysql"

并且在你的 stop.bat 文件中:

net stop "mysql"

16

最高票答案已经过时。我刚刚安装了 MySQL 5.7,服务名称现在是 MySQL57,所以新的命令是

net stop MySQL57


3
这对我有用,而且我不得不将我的设定为管理员运行,只是提醒可能会有所帮助的人注意一下。 - Omar Ayala
这取决于您安装的版本,也可以为服务指定自定义名称。 - Gary Carlyle Cook
不要忘记以管理员身份运行控制台。 - Drahoš Maďar

13

以管理员身份启动 Powershell 并运行:

net start [MySQL-service-name]

寻找服务名称:

运行“services.msc”,查找MySQL并单击属性

输入图像描述


7
如果使用MySQL 57。
net start MySQL57

或者

net stop MySQL57

1
这个方法对我来说可行,我在我的Windows开发服务器上以管理员身份使用PowerShell。 - klewis

6
net stop MySQL*

或者
mysqld stop

或者
mysql stop

在Windows命令行提示符中。
<*> 如果您使用的是Windows XP,您需要获取您的服务名称,可以通过以下方式获得:(来源于@Atli
右键单击“开始”菜单中的“My Computer”快捷方式,选择“管理”,在“服务和应用程序”组中点击“服务”。然后在服务列表中查找MySQL服务。
然后您可以使用该名称启动[或停止]服务。它有时可能被称为“mysql5”或“mysql51”等等,这取决于谁安装了它。

3
没有一个方法可以在Windows XP上停止服务器。1)net stop MySQL会返回"system error 1060."。2)mysqld stop会返回"2013-04-12 17:22:50 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_times tamp server option (see documentation for more details)",但服务器仍在运行。3)mysql stop会返回"ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'stop'"。该服务器是通过"mysqld --console"启动的。 - Green
@Green。完全同意,我运行这三个命令的经验也是如此!我使用的是Windows 8。话虽如此,当命令窗口以“管理员身份”运行时,运行net stop <name_of_mysql_service>确实有效。 - Ifedi Okonkwo
看起来,使用“以管理员身份运行”模式启动命令行对我有用。 - Manohar Reddy Poreddy

6

我使用XP系统。我从MySQL官网下载了MySQL-5.6.10的.zip安装包,手动进行安装。没有使用MySQL网站提供的Windows自动安装程序。我把MySQL的/bin目录加入了系统路径(PATH),所以我可以通过以下命令启动服务器:mysqld --console

C:\Documents and Settings\User>mysqld --console
2013-04-12 14:39:19 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_times
tamp server option (see documentation for more details).

现在它正在运行。那个命令窗口被占用了,我打开并使用另一个。

我尝试使用上面的答案,但没有一个可以停止服务器。只会抛出错误。所以我在其他 cmd 窗口上用 mysqladmin -u root shutdown 或在正在运行的 cmd 窗口中用 Ctrl + C 停止服务器。后者效果不如前者好,有时我必须点击Ctrl + C 两次或更多次。

关闭过程的日志如下:

2013-04-12 17:55:29 3968 [Note] Giving 0 client threads a chance to die gracefully
2013-04-12 17:55:29 3968 [Note] Event Scheduler: Purging the queue. 0 events
2013-04-12 17:55:29 3968 [Note] Shutting down slave threads
2013-04-12 17:55:29 3968 [Note] Forcefully disconnecting 0 remaining clients
2013-04-12 17:55:29 3968 [Note] Binlog end
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'partition'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_SYS_TABLES'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_FT_CONFIG'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_FT_DELETED'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_FT_INSERTED'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWORD'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_METRICS'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESET'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_CMPMEM'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_CMP_RESET'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_CMP'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_LOCKS'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'INNODB_TRX'
2013-04-12 17:55:29 3968 [Note] Shutting down plugin 'InnoDB'
2013-04-12 17:55:29 3968 [Note] InnoDB: FTS optimize thread exiting.
2013-04-12 17:55:29 3968 [Note] InnoDB: Starting shutdown...
2013-04-12 17:55:30 3968 [Note] InnoDB: Shutdown completed; log sequence number 1719777
2013-04-12 17:55:30 3968 [Note] Shutting down plugin 'BLACKHOLE'
2013-04-12 17:55:30 3968 [Note] Shutting down plugin 'ARCHIVE'
2013-04-12 17:55:30 3968 [Note] Shutting down plugin 'MRG_MYISAM'
2013-04-12 17:55:30 3968 [Note] Shutting down plugin 'MyISAM'
2013-04-12 17:55:30 3968 [Note] Shutting down plugin 'MEMORY'
2013-04-12 17:55:30 3968 [Note] Shutting down plugin 'CSV'
2013-04-12 17:55:30 3968 [Note] Shutting down plugin 'sha256_password'
2013-04-12 17:55:30 3968 [Note] Shutting down plugin 'mysql_old_password'
2013-04-12 17:55:30 3968 [Note] Shutting down plugin 'mysql_native_password'
2013-04-12 17:55:30 3968 [Note] Shutting down plugin 'binlog'
2013-04-12 17:55:30 3968 [Note] mysqld: Shutdown complete

我仍然不确定关机的方式是否是100%正确的,但它起作用 :)


6
对于Windows系统,有一些技巧需要注意...(假设你已经从Oracle的网站安装了MySQL,但可能选择不在启动时运行服务)...
  1. 在WinVista/Win7上使用命令行中的"mysqld stop",您必须右键单击“开始”->“所有程序” ->“附件”->“命令提示符”->“以管理员身份运行”

  2. 现在,您拥有本地操作系统管理访问权限,可以使用“mysqld stop”(它将简单返回)

如果您看到以下内容,则正在尝试使用未具有正确特权的用户/命令提示符进行操作:

121228 11:54:50 [Warning] Can't create test file c:\Program Files\MySQL\MySQL Server 5.5\data\hpdv7.lower-test
121228 11:54:50 [Warning] Can't create test file c:\Program Files\MySQL\MySQL Server 5.5\data\hpdv7.lower-test
121228 11:54:50 [Note] Plugin 'FEDERATED' is disabled.
121228 11:54:50 InnoDB: The InnoDB memory heap is disabled
121228 11:54:50 InnoDB: Mutexes and rw_locks use Windows interlocked functions
121228 11:54:50 InnoDB: Compressed tables use zlib 1.2.3
121228 11:54:50 InnoDB: Initializing buffer pool, size = 128.0M
121228 11:54:50 InnoDB: Completed initialization of buffer pool
121228 11:54:50  InnoDB: Operating system error number 5 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory. It may also be you have created a subdirectory
InnoDB: of the same name as a data file.
InnoDB: File name .\ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.

如果mysqld不是已知的系统命令,请尝试将其添加到您的类路径中。
  1. 右键单击“我的电脑”
  2. 高级系统设置
  3. 环境变量
  4. 系统变量
  5. 查找并左键单击选择名为"Path"的变量
  6. 点击“编辑”,将字符串复制到记事本中,并在末尾附加MySQL二进制文件目录的完整路径,例如:

    %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;c:\Program Files\MySQL\MySQL Server 5.5\bin


3

停止服务:

sc stop mysql56

启动服务:

sc start mysql56

你可能需要将mysql56更改为你的版本。


3

这是一个更新、更简单的答案。

  1. 以管理员身份运行cmd
  2. 键入"net start mysql",然后是版本号,在我的情况下,输入"net start mysql80"表示MySQL 8.0。
  3. 如果它说已经在运行,则非常好,否则现在mysql正在运行。
  4. 退出cmd,WIN+R并键入services.msc,滚动到您找到具有正确版本的mysql为止。
  5. 右键单击属性,在启动类型下选择“手动”,然后在服务状态下选择“停止”。
  6. 现在,您停止了mysql服务,它将不会自动再次运行。
  7. 要重新启动它,在cmd管理员中键入'net start mysql'和版本号,例如我输入'net start mysql80'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接