Casual-Ragnarok / ro-single-server

仙境 RO 传说 - 单机服务端(支持联机)
http://127.0.0.1:8096/ro
123 stars 59 forks source link

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

Open yyu007 opened 4 months ago

yyu007 commented 4 months ago

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

yyu007 commented 4 months ago

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

ogamiijiro commented 3 months ago

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 commented 3 months ago

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

ogamiijiro commented 3 months ago

找到一个办法。这里说一下。修改 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 commented 3 months ago

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

huang851998514 commented 3 months ago

说一下我遇到的问题及解决办法。 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 commented 1 month ago

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

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


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

zyfdtc commented 2 weeks ago

找到一个办法。这里说一下。修改 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

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