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

Kem*_*dly 55 mysql service window

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

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

小智 97

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

  • @Tunaki.我们需要以管理员身份打开命令提示符,以执行mysqld --install和mysqld --initialize命令. (8认同)
  • 使用 mysqld --initialize 在 MySQL 错误日志文件中搜索 root 密码后,该行将如下所示: Atemporarypassword is generated for root@localhost: Ok+ju;UT8%ED (3认同)
  • 如果简单不起作用,则:bin\mysqld --initialize-insecure(和latare add root password) (2认同)
  • 以管理员身份打开“cmd”,执行命令“mysqld --install”和“mysqld --initialize”。然后在服务中打开`mysql`并启动服务。它是这样工作的 (2认同)

War*_*ick 19

还记得给该文件夹提供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服务

  • 差不多2个小时,并在Windows中设置权限可以解决问题,但根本没有这样的指示,所以认为这可能不是问题。非常感谢哥们 (2认同)

jhe*_*y29 19

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

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

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

  • 你拯救了我的一天。谢谢! (4认同)
  • 我看不到前导或尾随额外的字符。但是,我将 my.ini 文件重命名为 my_old.ini 文件,手动将 my_old.ini 的内容复制到 my.ini 中,服务器启动了! (4认同)
  • 太好了,这正是我的问题! (2认同)
  • 您也可以在“另存为...”对话框中选择ANSI编码,并忽略以下警告。谢谢你的提示! (2认同)
  • 使用记事本时,另存为 ANSI 编码可解决此问题 (2认同)

小智 11

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

mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --standalone --console
Run Code Online (Sandbox Code Playgroud)

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


vul*_*ulp 7

这可能是因为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


小智 5

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


小智 5

使用社区 8.0.17,从 8.0.16 升级

可能有一种更安全的方法可以做到这一点,但由于我只是在运行一个开发框:

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

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

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

假设所有文件都通过 --initialize 正确创建,服务将启动。

  • 谢谢你!清空“data”文件夹并运行 mysqld --initialize 之后,对我来说就成功了。 (2认同)