本地计算机上的MySQL服务启动,然后停止。如果某些服务未被其他服务或程序使用,则会自动停止。
谁能解决这个问题?谢谢。
本地计算机上的MySQL服务启动,然后停止。如果某些服务未被其他服务或程序使用,则会自动停止。
谁能解决这个问题?谢谢。
Answers:
通过安装mysqld --install
。试试这个mysqld --initialize
。我们遇到了同样的问题,但是现在可以正常工作了。
MYSQL80
服务。它不以某种方式启动,我通常是从Services手动启动,但现在从那里不能启动
cmd
以管理员身份打开,执行命令mysqld --install
和mysqld -- initialize
。然后mysql
在服务中打开并启动服务。它是这样工作的
如果使用版本8并编辑my.ini,我发现记事本在my.ini文件的开头放置了3个十六进制字符。EF BB BF。在十六进制编辑器中从文件开头删除3个字符可解决此问题。
在版本8中,他们无意中将Unicode字符放入ini文件中。这导致记事本使用字节顺序标记字符保存文件。
文件中的下一行是元凶“行号范围从1到2 ^ 32-1。“唯一”表示每个ID必须不同。” 有3个Unicode字符。这导致记事本将字节顺序标记附加到文本文件。
还请记住授予该文件夹“网络服务”权限:
Data
文件夹Properties
Security
标签Advanced
Change Permissions...
Add...
NETWORK SERVICE
Check Names
OK
Full Control
OK
–四次就我而言,我试图打开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"
文件夹;我建立了一个,问题解决了。
这可能是由于lower_case_table_names
服务器已初始化之后发生了更改。
仅在初始化服务器时才能配置lower_case_table_names。禁止在服务器初始化后更改lower_case_table_names设置。
解决此问题的方法是lower_case_table_names
按照以下答案中的描述在服务器安装时设置参数:
使用社区8.0.17,从8.0.16升级
这样做可能会有更安全的方法,但是由于我只是在运行开发箱:
您现在应该在数据文件夹中看到所有必需的数据文件结构。如果未创建它们,则mysqld进程存在争用或不正确的安全性,无法正确写入该文件夹。
现在以您想要的任何方式启动命名服务(SC / NET / service.msc等)
假设所有文件均由--initialize正确创建,则服务将启动。
这个问题非常复杂,取决于MySQL版本。我的问题发生在MySQL 8.0.2上。当我在记事本上配置my.ini文件并保存后,我遵循@ jhersey29解决方案https://stackoverflow.com/a/55519014/1764354但方法稍有不同。
我的解决方案是还原my.ini文件并通过WorkBench应用程序上的Option文件编辑配置值。 workBench菜单示例
重命名或删除下面的文件夹,
C:\ ProgramData \ MySQL \ MySQL Server 5.7
文件夹名称根据您的MYSQL版本号进行更改。
请按照以下说明保存您的一天:
如果您修改的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,所以我无法指导-但是您可以找到上面的答案以供参考
您可能还不小心在my.ini
文件中添加了一些错误的文本。确保在文件的开头没有添加无效字符。
搜索services.msc并查看正在运行的服务,如果有一个mysql服务正在运行而不是要运行的mysql服务(可能是xampp或wamp)或另一个使用相同端口的服务(例如Skype)作为mysql并停止服务,以便您可以运行mysql服务。
我的数据库长时间正常工作后,我遇到了这个问题。原来是一些数据损坏。
在错误日志中,我有:
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 *文件,然后重新启动。
以上都不是实际可行的方法,因此删除mysql,重新安装mysql,如果有的话还可以恢复...享受
我有与问题中显示的完全相同的消息。运气不好,我尝试了很多建议。我打算安装WAMP(在Windows上),并且首先要卸载MySql 8.0,当时我注意到安装中包括一个程序:“ MySQL Installer-Community”,所以我尝试了。使用此安装程序,我建立了一个新的连接,向root用户添加了密码,使用密码添加了另一个用户,为所有日志设置了位置选择并运行了安装。结果是它现在完全可以使用了。