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

问题描述 投票:47回答:14

本地计算机上的MySQL服务启动然后停止。如果某些服务未被其他服务或程序使用,则会自动停止。

谁能解决这个问题?谢谢。

mysql service window
14个回答
87
投票

mysqld --install安装后。试试这个mysqld --initialize。我们遇到了同样的问题,但它现在正在运作。


0
投票

搜索services.msc并查看正在运行的服务,如果有一个运行的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
投票

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

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


0
投票

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


0
投票

没有什么对我有用,但后来我检查了here。我运行了命令qc sc mysql57并从中复制了BINARY_PATH_NAME的值。之后我检查了this并在lower_case_table_names文件中将my.ini的值从0更改为2。然后在命令提示符下,我运行了这个命令 - << BINARY_PATH_NAME >> --install-manual。在那之后,我启动了MySQL57服务并且它运行了。


-2
投票

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


17
投票

还记得给该文件夹提供NETWORK SERVICE权限:

  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服务

8
投票

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

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

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


5
投票
  1. 开放服务
  2. 右键单击MYSQL服务
  3. 选择登录
  4. 检查本地系统帐户
  5. 开始服务

4
投票

在我的情况下,我尝试打开DOS提示符并转到MySQL bin\目录并发出以下命令:

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

它告诉我,我错过了"C:\Program Files\MySQL\MySQL Server 5.0\Uploads"文件夹;我建了一个,问题解决了。


1
投票

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

C:\ ProgramData \ MySQL \ MySQL Server 5.7

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


1
投票

这可能是因为在服务器初始化之后更改了lower_case_table_names

From the docs:

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

此问题的解决方案是在服务器安装时设置lower_case_table_names参数,如以下答案中所述:

Can't set lower_case_table_names in MySQL 8.x on Windows 10


0
投票

在我的情况下,mysqld启动并停止,没有错误消息。我需要使用“以管理员身份运行”打开命令提示符,然后运行mysqld。

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

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


0
投票

mysqld --initialize

在install命令之后运行上面的命令。然后尝试启动服务 - 这应该工作。

© www.soinside.com 2019 - 2024. All rights reserved.