Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

一直卡在mysql 服务器 和apache服务器 正在启动中 #125

Open
yyu007 opened this issue May 20, 2024 · 8 comments · May be fixed by #128
Open

一直卡在mysql 服务器 和apache服务器 正在启动中 #125

yyu007 opened this issue May 20, 2024 · 8 comments · May be fixed by #128

Comments

@yyu007
Copy link

yyu007 commented May 20, 2024

如题,按照B站视频搭建,也按视频中所示复制My.cnf到下载的文件中,依然卡第一步。DIX也进行了修复。
1716220846431
1716220846431

@yyu007
Copy link
Author

yyu007 commented May 20, 2024

我用自己电脑和NAS上的虚拟机win10均是这种情况。最近想和同学一起怀怀旧,求大佬帮助。

@ogamiijiro
Copy link

rem ### Wait for MySQL to start
echo MySQL 服务器正在启动中 ...
:next2
home\admin\program\unidelay.exe
if NOT exist usr\local\mysql\data\mysql_mini.pid goto :next2
这是bat中启动的内容。后台可以看到unidelay在反复运行,但是mysql_mini.pid在usr\local\mysql\data\不存在,所以无限死循环了。

@ogamiijiro
Copy link

由于unidelay.exe只是延时作用。所以归根到底是
start /MIN \usr\local\mysql\bin\mysqld-opt.exe --defaults-file=/usr/local/mysql/my.cnf
这个启动命令不成功,没有生成mysql_mini.pid导致

@ogamiijiro
Copy link

找到一个办法。这里说一下。修改 01-启动架设环境.bat
rem ## Start MySQL server
start /MIN \usr\local\mysql\bin\mysqld-opt.exe --defaults-file=/usr/local/mysql/my.cnf
改为
rem ## Start MySQL server
start /MIN \usr\local\mysql\bin\mysqld-opt.exe --no-defaults

:next2
home\admin\program\unidelay.exe
if NOT exist usr\local\mysql\data\mysql_mini.pid goto :next2
修改为
rem ## :next2
home\admin\program\unidelay.exe
rem ## if NOT exist usr\local\mysql\data\mysql_mini.pid goto :next2

修改这2处后保存即可。
另外需要关闭掉win10自带的杀毒。否则map服务器会被杀掉。

@ogamiijiro
Copy link

我的机子上生成的不是mysql_mini.pid,而是"计算机名".pid。
所以也可以改成
:next2
home\admin\program\unidelay.exe
if NOT exist usr\local\mysql\data\“你的计算机名”.pid goto :next2

@huang851998514
Copy link

说一下我遇到的问题及解决办法。
mysql启动不成功导致下面这段代码进入循环。
:next2
home\admin\program\unidelay.exe
if NOT exist usr\local\mysql\data\mysql_mini.pid goto :next2

这里有有两个问题,第一是下面这段代码。
rem ## Start MySQL server
start /MIN \usr\local\mysql\bin\mysqld-opt.exe --defaults-file=/usr/local/mysql/my.cnf

  1. my.cnf文件中有 default_authentication_plugin=mysql_native_password,会导致启动时报 mysql: unknown variable 'default_authentication_plugin=mysql_native_password‘ 导致mysql启动不成功,所以也不会生成后续的pid文件,直接注释掉或者删掉即可。

  2. mysql_mini.pid需要替换成 计算机名.pid,所以可以直接替换成 %computername%.pid。

@linonetwo
Copy link

linonetwo commented Aug 7, 2024

感谢分享,上面的可以用。

不过在显示完一堆锟斤拷之后,cmd 窗口就自动关闭了,这正常吗?


更新文件前,先用 VSCode 右下角的 UTF-8 ,点击后在列表里用编码重新打开,用 GBK 重新打开,再替换内容保存

@zyfdtc
Copy link

zyfdtc commented Sep 14, 2024

找到一个办法。这里说一下。修改 01-启动架设环境.bat rem ## Start MySQL server start /MIN \usr\local\mysql\bin\mysqld-opt.exe --defaults-file=/usr/local/mysql/my.cnf 改为 rem ## Start MySQL server start /MIN \usr\local\mysql\bin\mysqld-opt.exe --no-defaults

:next2 home\admin\program\unidelay.exe if NOT exist usr\local\mysql\data\mysql_mini.pid goto :next2 修改为 rem ## :next2 home\admin\program\unidelay.exe rem ## if NOT exist usr\local\mysql\data\mysql_mini.pid goto :next2

修改这2处后保存即可。 另外需要关闭掉win10自带的杀毒。否则map服务器会被杀掉。

我的机子上生成的不是mysql_mini.pid,而是"计算机名".pid。 所以也可以改成 :next2 home\admin\program\unidelay.exe if NOT exist usr\local\mysql\data\“你的计算机名”.pid goto :next2

按照你的方法已解决问题,感谢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants