本地计算机上的MySQL服务已启动然后停止。如果某些服务未被其他服务或程序使用,则会自动停止。
任何人都可以解决此问题吗?感谢。
答案 0 :(得分:85)
按mysqld --install
安装后。试试这个mysqld --initialize
。我们遇到了同样的问题,但它现在正在运作。
答案 1 :(得分:4)
答案 2 :(得分:3)
在我的情况下,我试图打开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"
文件夹;我建了一个,问题解决了。
答案 3 :(得分:2)
使用社区8.0.17,从8.0.16升级
也许有一种更安全的方法,但是由于我只是在运行开发箱:
您现在应该在数据文件夹中看到所有必需的数据文件结构。如果未创建它们,则mysqld进程存在争用或不正确的安全性,无法正确写入该文件夹。
现在以您想要的任何方式(SC / NET / service.msc等)启动您的命名服务
假定所有文件均通过--initialize正确创建,则服务将启动。
答案 4 :(得分:2)
这个问题太复杂了,取决于MySQL版本。我的问题发生在MySQL 8.0.2上。在记事本上配置my.ini文件并将其保存后,我遵循@ jhersey29解决方案https://stackoverflow.com/a/55519014/1764354进行了操作,但方法几乎没有什么不同。
我的解决方案是还原my.ini文件,并通过WorkBench应用程序上的Option文件编辑配置值。 workBench Menu Example
答案 5 :(得分:1)
如果使用版本8并编辑my.ini,我发现记事本在my.ini文件的开头放置了3个十六进制字符。 EF BB BF。在十六进制编辑器中从文件开头删除3个字符可解决此问题。
在版本8中,它们不小心将Unicode字符放入ini文件中。这导致记事本使用字节顺序标记字符保存文件。
文件中的下一行是元凶“行号范围从1到2 ^ 32-1。“唯一”表示每个ID必须不同。”有3个Unicode字符。这导致记事本将字节顺序标记附加到文本文件。
答案 6 :(得分: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,然后执行以下操作 打开Window的命令行并以管理员身份运行
sc删除mysql80 <=如果您使用mysql80,它将在服务中删除MySQL80
sc删除mysql <=如果您使用“ mysql --initliaze”,它将在服务中删除MySQL
mysqld --initialize 命令仅在Window或Linux服务中创建MySQL
因此,当您检查它为Path Executable时,它将丢失my.ini,因此尽管MySQL服务正在运行,但您无法使用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 Server XX \ bin \ mysqld.exe” --install MySQLXX --defaults-file =“ C:\ ProgramData \ MySQL \ MySQL Server XX \ my.ini” >
=>它将创建与my.ini一起使用的MySQLXX服务
然后MySQL正常运行,您无需再次安装MySQL。
我没有使用Linux或Mac,所以我无法进行说明-但是您可以在上面找到答案以供参考
答案 7 :(得分:1)
没有任何帮助,但随后我检查了here。我运行了该命令qc sc mysql57
,并从中复制了BINARY_PATH_NAME
的值。之后,我检查了this,并将lower_case_table_names
文件中my.ini
的值从0更改为2。然后在命令提示符下,运行此命令-<< BINARY_PATH_NAME >> --install-manual
。之后,我启动了MySQL57服务,它开始工作。
答案 8 :(得分:1)
这可能是由于服务器已初始化后更改了lower_case_table_names
。
lower_case_table_names只能在初始化 服务器。服务器后更改lower_case_table_names设置 禁止初始化。
此问题的解决方案是按照以下答案中的描述在服务器安装时设置lower_case_table_names
参数:
答案 9 :(得分:1)
重命名或删除
下的文件夹C:\ ProgramData \ MySQL \ MySQL Server 5.7
根据 MYSQL 版本号更改文件夹名称。
答案 10 :(得分:0)
另外一个mysql实例如5.6或8同时运行
并且保留了 80 端口
请>转到>>服务>>停止所有另一个实例>>禁用它们
就我而言,问题解决了,服务也启动了
答案 11 :(得分:0)
我有与问题中显示的完全相同的消息。运气不好,我尝试了很多建议。我打算安装WAMP(在Windows上),并且首先要卸载MySql 8.0,当时我注意到安装中包括一个程序:“ MySQL Installer-Community”,所以我尝试了。使用此安装程序,我建立了一个新的连接,向root用户添加了密码,使用密码添加了另一个用户,为所有日志设置了位置选择并运行了安装。 结果是它现在完全可以使用了。
答案 12 :(得分:0)
以上都不是真正有效的方法,因此删除mysql,重新安装mysql,如果有的话,还原回去...享受
答案 13 :(得分: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
答案 14 :(得分:0)
这种问题经常是由于配置错误造成的。
Vivek Sethi mentioned 20th December 2012 可以通过运行以下命令在控制台中获取日志:
C:\Windows\system32>"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.5\my.ini" --standalone --console
在 Windows 10 中右键单击我的服务,我识别出了 --defaults-file=
参数,并且通过控制台日志记录,我能够看到我的配置中有什么问题。就我而言,datadir=
和 secure-file-priv=
的路径是错误的。我希望其他人也可以通过能够在控制台中查看日志详细信息来获得授权。祝你好运!
答案 15 :(得分:0)
my.ini 文件应另存为(编码)ANSI,而不是 UTF-8 或其他文件。
答案 16 :(得分:0)
我也遇到过同样的情况。我已经更改了 server-id=2,保存时出现此错误。经过大量研究,我找到了解决方案。 在窗口之后
<块引用>更改my.ini mysql配置文件,将文件另存为 ANSI 而不是 UTF-8
这对我很有效。
答案 17 :(得分:0)
启动并停止本地计算机上的MySQL服务
当您在C:\ ProgramData \ MySQL \ MySQL Server 8.0 \ my.ini中修改my.ini不正确时,会发生此错误。
您可以搜索my.ini原始配置或检查您的原始配置以确保一切正常
答案 18 :(得分:0)
当我安装MySQL 8.x,在my.ini文件中编辑max_allowed_packet并在Windows 10计算机上重新启动mysql时,我看到此错误。为了避免此问题,我的建议是在十六进制编辑器(类似于Frhed)中编辑my.ini文件。请勿使用记事本。它对.ini文件的十六进制布局有作用。
答案 19 :(得分:0)
从“ C:\ ProgramData \ MySQL \ MySQL Server 5.7 \ Data”中删除或重命名以下2个文件: ib_logfile0 ib_logfile1
答案 20 :(得分:0)
同样的问题也发生在我身上,注意到它起作用了……我首先通过以下命令删除了该服务(在我的情况下为MySQL80和MySQL):
sc delete MySQL80
sc delete MySql
,然后重新安装MySQL。我的是MySQL 8.0。然后一切恢复正常。
答案 21 :(得分:0)
您还可能不小心在my.ini
文件中添加了一些错误的文本。确保在文件的开头没有添加无效字符。
答案 22 :(得分:0)
在我的情况下,当secure-file-priv指向不存在的文件夹时,会发生此错误,请确保它存在并且可读。
my.ini中的代码行示例:
secure-file-priv="D:/MySQL/uploads"
答案 23 :(得分: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 *文件,然后重新启动。
答案 24 :(得分:0)
搜索services.msc,并在正在运行的服务中查找(如果有)已经运行的mysql服务与您要运行的服务(可能是xampp或wamp)或其他服务(例如Skype)不同,请使用与mysql相同的端口并停止服务,以便您可以运行mysql服务。
答案 25 :(得分:0)
mysqld --initialize
在install命令后运行以上命令。 然后尝试启动服务 - 应该可以工作。
答案 26 :(得分:0)
在我的情况下,mysqld启动并停止,没有错误消息。我需要使用“以管理员身份运行”打开命令提示符,然后运行mysqld。
我只是为了临时开发而这样做。在任何情况下,我都不建议以管理员身份运行MySQL。
这是上述故障排除后的最后一步。
答案 27 :(得分:-2)
如果已将数据目录(my.ini中的数据库根目录的路径)更改为外部硬盘驱动器,请确保已连接硬盘驱动器。