一种Win10专业版环境下MySQL8启动服务失败问题的解决方案

原创
2019/05/12 15:26
阅读数 2.5K
PS C:\Program Files\mysql-8.0.16-winx64\bin> net start mysql
MySQL 服务正在启动 ..
MySQL 服务无法启动。

服务没有报告任何错误。

请键入 NET HELPMSG 3534 以获得更多的帮助。

这...是个令人头疼的问题。总而言之,解决方案也是乱七八糟的。有的成功了,有的失败了。

我先说好:以下内容是本人解决问题的方案,不一定适用于大家的,仅仅提供解决问题的思路。

===================================================================

摘要:

    在windows中安装MySQL有两种方案,一种是官方提供的MySQL installer,另一种则是noinstall模式,noinstall模式提供zip压缩包,解压之后输入几个命令配个环境变量便能使用。对于追求方便和对MySQL不甚理解的用户多采用installer进行安装。而nointstall模式安装方法则对用户的技术要求高一些。在文章的以下内容中将分享一种在win10下解决MySQL8.0安装失败时的解决方案。

关键字:windows10;MySQL8.0;MySQL服务无法启动;MySQL没有报告任何错误;

正文:

1.错误来源

    吾于MySQL官网下载MySQL8的zip版本:

链接:https://dev.mysql.com/downloads/mysql/

    下载后,直接解压到桌面,并复制至目录:C:\Program Files\mysql-8.0.16-winx64 ,随后将bin目录添加到系统变量path中,并直接按win+x键以管理员身份打开windows powershell,然后输入mysqld -install提示服务安装成功,随后net start mysql想要启动服务,却报了个错:

图1 - MySQL启动报错信息

    以往我也遇到过很多次该错误,每次模模糊糊混过去了并没有记录如何解决的方案,更没有深究其中原理。正好在这篇文章中来刨一刨该问题的根。

2.为什么容易犯错

    犯错原因:普通人对于MySQL的理解便是将MySQL下载完成后,安装到服务中并启动服务便能使用了。殊不知MySQL在安装的过程中还有几个关键步骤需要用户手动解决。往往是忽略了这些关键步骤,所以一次次地出现一些不可预知的错误,这些问题竟令我们束手无策。

    windows中 noinstall MySQL安装的关键步骤

    

图2 - MySQL官方文档中关于noinstall zip Arch安装的步骤

    简而言之:

    1.解压   2.创建修改配置文件  3.选择服务器类型(参考)  4.初始化Data目录  5.第一次启动  6.从命令行启动  7.环境变量添加  8.把MySQL加入到windows服务中去  9.测试

    其中,最容易是我们犯糊涂的就是2,4,5等步骤(3是干嘛用的我还不太清除),这三个一旦出错,就容易出现上面的错误信息。

3.如何解决错误

    要避免这个错误,我们可以直接就事论事,如何解决创建修改配置文件、初始化Data目录、第一次启动中所遇到的问题。

    配置文件的书写:在mysql根目录下创建my.ini,在启动书写[mysql]节点的配置,[mysqld]节点配置,参考,而我从网上也得到一些谣言:8.0配置在bin目录下的mysql_config.pl中书写,而不用my.conf和my.ini了,然而我在官网并没有发现有这种说话。可是事实是,我书写了my.ini然后尝试按照步骤来启动后,仍然出现服务无法启动的状况,先不说网上这哥们儿说的是否有根据(我不清楚),反正按照他说的没什么毛病。总之什么地方肯定出问题了。我也是修改bin目录下的mysql_config.pl来解决的。

    初始化data目录(应该先修改配置文件):注意,首先切换到bin目录,甭管你配置没配置环境变量(网上前辈这么说的,我也是这么做的,引用),然后执行 mysqld -initialize,静候片刻,在mysql根目录下出现data文件夹即可。

    最后,在键入mysqld -install安装服务(如果服务有问题,mysqld -remove可以移除服务)。

    最最后,键入net start mysql启动服务。服务名在  任务管理器--服务  中可以查看。

 

4.解决问题方案详细步骤

    4.1修改配置文件

    将下载下来的zip解压后拷贝到某个目录;然后配置环境变量(可选);接着修改bin目录下的文件mysql_config.pl,使用notepad++打开,详细修改内容请参照:

my $ldata   = 'C:/Program Files/mysql-8.0.16-winx64/data';
my $execdir = 'C:/Program Files/mysql-8.0.16-winx64/bin';
my $bindir  = 'C:/Program Files/mysql-8.0.16-winx64/bin';

我是看到启动有跟windows目录相关的就改成我自己的目录了,这些目录就包含根目录  bin目录  data目录等。data此时可能没有创建,因为需要mysqld -initialize来创建。

这里需要注意windows目录反斜杠修改过来,不修改的话好像需要转义,即   \\

其他地方我也修改了,因为不知道修改的对不对,就不贴出来了,怕误导了大家;总而言之最后服务启动时没问题。

4.2键入命令行命令

修改完成后,在bin目录打开powershell(在bin目录空白处按住shift鼠标右击),打开后键入命令 mysqld -install,在键入mysqld --initialize 在键入net start mysql  如下:

图3 - 成功启动mysql服务

5.总结

    其中问题的根源所在是配置文件的修改和书写,在下安装的是mysql8.0,如果大家8.0也遇到同样的问题,不妨按照上面所说的步骤试一试,也许就成功了呢! 这里也需要注意下,powershell中请尽量以管理员身份打开,不然容易报错,在安装服务的时候如果不是管理员身份就会报access denied的错误等。

 

展开阅读全文
加载中

作者的其它热门文章

打赏
0
1 收藏
分享
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部