启动然后停止本地计算机上的MySQL服务


Answers:


129

通过安装mysqld --install。试试这个mysqld --initialize。我们遇到了同样的问题,但是现在可以正常工作了。


9
@Tunaki。我们需要以管理员身份打开命令提示符,以执行mysqld --install和mysqld --initialize命令。
Pankaj Shinde

2
如果简单行不通,则执行以下操作:bin \ mysqld --initialize-insecure(并latare添加root密码)
danielpopa

在使用mysqld --initialize搜索MySQL错误日志文件中的root密码后,该行应如下所示:为root @ localhost生成一个临时密码:Ok + ju; UT8%ED
Alex Khimich,

我以前曾使用过这项MYSQL80服务。它不以某种方式启动,我通常是从Services手动启动,但现在从那里不能启动
Waseem Ahmad Naeem,

1
cmd以管理员身份打开,执行命令mysqld --installmysqld -- initialize。然后mysql在服务中打开并启动服务。它是这样工作的
mannedear '20

42

如果使用版本8并编辑my.ini,我发现记事本在my.ini文件的开头放置了3个十六进制字符。EF BB BF。在十六进制编辑器中从文件开头删除3个字符可解决此问题。

在版本8中,他们无意中将Unicode字符放入ini文件中。这导致记事本使用字节顺序标记字符保存文件。

文件中的下一行是元凶“行号范围从1到2 ^ 32-1。“唯一”表示每个ID必须不同。” 有3个Unicode字符。这导致记事本将字节顺序标记附加到文本文件。


2
你救了我的一天。谢谢!
Plugie

1
太好了,那正是我的问题!
ffenix

也为我工作。谢谢!
Pavel M.19年

4
我看不到前导或尾随的多余字符。但是,我将my.ini文件重命名为my_old.ini文件,然后将my_old.ini的内容手动复制到my.ini中,服务器启动了!
初中

7
您也可以在“另存为...”对话框中选择ANSI编码,并忽略以下警告。谢谢你的提示!
bspoel19年

26

还请记住授予该文件夹“网络服务”权限:

  1. 右键点击 Data文件夹
  2. 选择 Properties
  3. 选择 Security标签
  4. 请点击 Advanced
  5. 请点击 Change Permissions...
  6. 请点击 Add...
  7. 类型 NETWORK SERVICE
  8. 请点击 Check Names
  9. 请点击 OK
  10. 选择 Full Control
  11. 请点击 OK–四次
  12. 启动MySQL服务

4
差不多2个小时,并在Windows中设置权限可以解决问题,因为根本没有此类指示,所以认为这可能不是问题。非常感谢好友
Zaffar Saffee

此后,我还必须确保MySQL服务是“网络服务”帐户。

9

就我而言,我试图打开DOS提示符并转到MySQLbin\目录并发出以下命令:

mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --standalone --console

它表明我缺少"C:\Program Files\MySQL\MySQL Server 5.0\Uploads"文件夹;我建立了一个,问题解决了。


搞砸了许多权限设置后,结果发现我的ini / cnf文件中的驱动器号不正确。这个答案帮助了我。
PadraigD

在使用上述查询Try1时,它向我显示-“文件操作中的操作系统错误号32。[错误] [MY-012615]该错误表示另一个程序正在使用InnoDB的文件。这可能是备份或防病毒软件或MySQL的另一个实例。”。在使用上述查询Try2时,它启动了崩溃恢复并成功启动了:)
Himalaya Garg


3

这可能是由于lower_case_table_names服务器已初始化之后发生了更改。

从文档:

仅在初始化服务器时才能配置lower_case_table_names。禁止在服务器初始化后更改lower_case_table_names设置。

解决此问题的方法是lower_case_table_names按照以下答案中的描述在服务器安装时设置参数:

无法在Windows 10的MySQL 8.x中设置lower_case_table_names


2

在我的情况下,当secure-file-priv指向不存在的文件夹时,会发生此错误,请确保它存在并且可读。

my.ini中的代码示例行: secure-file-priv="D:/MySQL/uploads"


是的,这里也是一样,如果您要移动较新的mysql的数据目录,并且在此过程中也移动了uploads目录,这就是问题。
J饶

2

什么都没有为我工作,但后来我在这里检查。我运行了该命令qc sc mysql57并从中复制了BINARY_PATH_NAME它的值。之后,我检查了一下,并将文件中的值lower_case_table_names从0更改为2 my.ini。然后在命令提示符下,运行此命令- << BINARY_PATH_NAME >> --install-manual。之后,我启动了MySQL57服务,它开始工作。


2

使用社区8.0.17,从8.0.16升级

这样做可能会有更安全的方法,但是由于我只是在运行开发箱:

  1. 导航到\ data文件夹
  2. 确保\ data文件夹为EMPTY。如果文件存在--initialize选项将失败
  3. 授予SYSTEM对\ data文件夹的完全控制权限
  4. 返回您的命令提示符
  5. 运行mysqld --initialize

您现在应该在数据文件夹中看到所有必需的数据文件结构。如果未创建它们,则mysqld进程存在争用或不正确的安全性,无法正确写入该文件夹。

现在以您想要的任何方式启动命名服务(SC / NET / service.msc等)

假设所有文件均由--initialize正确创建,则服务将启动。



1

重命名或删除下面的文件夹,

C:\ ProgramData \ MySQL \ MySQL Server 5.7

文件夹名称根据您的MYSQL版本号进行更改。


1

当我安装MySQL 8.x,在my.ini文件中编辑max_allowed_pa​​cket并在Windows 10计算机上重新启动mysql时,我看到此错误。为了避免此问题,我的建议是在十六进制编辑器(类似于Frhed)中编辑my.ini文件。请勿使用记事本。它对.ini文件的十六进制布局有作用。


1

请按照以下说明保存您的一天:

如果您修改的my.ini不正确,则会发现“本地计算机上的MySQL服务已启动然后停止”的问题。因此,您需要再次在“ C:\ ProgramData \ MySQL \ MySQL Server 8.0 \ my.ini”中检查my.ini,以确保没有奇怪的命令。如果您不知道并想还原为原始文件,则可以在网络上使用关键字“ my.ini配置”进行搜索,下载最新版本并将其复制到“ C:\ ProgramData \ MySQL \ MySQL Server 8.0 \ my.ini”中”

对于谁删除了Windows或Linux上的SQL服务,您可以按照以下步骤操作:

(窗口)

删除当前服务

您需要先在服务中停止MySQL80 / MySQLXX,然后才能执行“打开窗口的命令行”下面的操作并以管理员身份运行

sc delete mysql80 <=如果您使用mysql80,它将在服务中删除MySQL80

sc delete mysql <=如果您使用“ mysql --initliaze”,它将在服务中删除MySQL

mysqld --initialize命令仅在Window或Linux服务中创建MySQL

因此,当您检查它为Path Executable时,它将丢失my.ini,因此尽管MySQL Service正在运行,但您无法使用MySQL Server

对于MySQL80

“ C:\ Program Files \ MySQL \ MySQL Server 8.0 \ bin \ mysqld.exe” --install MySQL80 --defaults-file =“ C:\ ProgramData \ MySQL \ MySQL Server 8.0 \ my.ini”

对于MySQLXX

“ C:\ Program Files \ MySQL \ MySQL服务器XX \ bin \ mysqld.exe” --install MySQLXX --defaults-file =“ C:\ ProgramData \ MySQL \ MySQL服务器XX \ my.ini”

=>它将使用my.ini创建MySQLXX服务

这样,MySQL便可以正常工作,而您无需再次安装MySQL。

我没有使用Linux或Mac,所以我无法指导-但是您可以找到上面的答案以供参考


1

您可能还不小心在my.ini文件中添加了一些错误的文本。确保在文件的开头没有添加无效字符。


1
谢谢,这使我步入正轨...显然在记事本中编辑my.ini文件将破坏该文件。我改为在Visual Studio Code中对文件进行了相同的编辑,并且效果很好。
justanotherguy

0

就我而言,mysqld正在启动和停止,没有错误消息。我需要使用“以管理员身份运行”打开命令提示符,然后运行mysqld。

我这样做只是为了临时发展。在任何情况下,我都不建议以管理员身份运行MySQL。

这是上述故障排除之后的最后一步。


0

搜索services.msc并查看正在运行的服务,如果有一个mysql服务正在运行而不是要运行的mysql服务(可能是xampp或wamp)或另一个使用相同端口的服务(例如Skype)作为mysql并停止服务,以便您可以运行mysql服务。


0

我的数据库长时间正常工作后,我遇到了这个问题。原来是一些数据损坏。

在错误日志中,我有:

2017-02-07T10:11:42.270567Z 0 [ERROR] InnoDB: Ignoring the redo log due to missing MLOG_CHECKPOINT between the checkpoint 44002250712 and the end 44002250240.
2017-02-07T10:11:42.270606Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2017-02-07T10:11:42.577436Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2017-02-07T10:11:42.577470Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2017-02-07T10:11:42.577484Z 0 [ERROR] Failed to initialize plugins.
2017-02-07T10:11:42.577488Z 0 [ERROR] Aborting

然后,我必须删除2个ib_logfile *文件,然后重新启动。


0

从“ C:\ ProgramData \ MySQL \ MySQL Server 5.7 \ Data”中删除或重命名以下2个文件:ib_logfile0 ib_logfile1


0

我也遇到了同样的问题,什么也没有起作用...我首先通过命令删除了该服务(在我的情况下为MySQL80和MySQL):

sc delete MySQL80
sc delete MySql

然后重新安装MySQL。我的是MySQL 8.0。然后一切恢复正常。


0

启动然后停止本地计算机上的MySQL服务

当您在C:\ ProgramData \ MySQL \ MySQL Server 8.0 \ my.ini中修改my.ini不正确时,会发生此错误。

您可以搜索my.ini原始配置或检查您的原始配置以确保一切正常


0

如果在Windows 10上安装WAMP64时遇到此问题,请检查MySQL文件夹中的data文件夹是否丢失。我的WAMP 3.2.3版本安装无法创建这样的文件夹。因此,wamp图标为橙色(正在运行2个服务中的1个)。

一个快速修复是从MySQL位置运行此命令。

C:\wamp64\bin\mysql\mysql5.7.31\bin\
mysqld --initialize-insecure


0

我有与问题中显示的完全相同的消息。运气不好,我尝试了很多建议。我打算安装WAMP(在Windows上),并且首先要卸载MySql 8.0,当时我注意到安装中包括一个程序:“ MySQL Installer-Community”,所以我尝试了。使用此安装程序,我建立了一个新的连接,向root用户添加了密码,使用密码添加了另一个用户,为所有日志设置了位置选择并运行了安装。结果是它现在完全可以使用了。


-1

mysqld-初始化

在安装命令后运行以上命令。然后尝试启动服务-应该可以。


-2

如果已将数据目录(my.ini中的数据库根目录的路径)更改为外部硬盘驱动器,请确保已连接硬盘驱动器。


你好易山 问题没有提到他们正在使用外部驱动器。因此,这不太可能是问题所在。
迭戈·马龙
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.