PS C:\Program Files\mysql-8.0.16-winx64\bin> net start mysql MySQL 服务正在启动 .. MySQL 服务没法启动。 服务没有报告任何错误。 请键入 NET HELPMSG 3534 以得到更多的帮助。
这...是个使人头疼的问题。总而言之,解决方案也是乱七八糟的。有的成功了,有的失败了。html
我先说好:如下内容是本人解决问题的方案,不必定适用于你们的,仅仅提供解决问题的思路。mysql
===================================================================sql
在windows中安装MySQL有两种方案,一种是官方提供的MySQL installer,另外一种则是noinstall模式,noinstall模式提供zip压缩包,解压以后输入几个命令配个环境变量便能使用。对于追求方便和对MySQL不甚理解的用户多采用installer进行安装。而nointstall模式安装方法则对用户的技术要求高一些。在文章的如下内容中将分享一种在win10下解决MySQL8.0安装失败时的解决方案。shell
关键字:windows10;MySQL8.0;MySQL服务没法启动;MySQL没有报告任何错误;windows
吾于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想要启动服务,却报了个错:spa
图1 - MySQL启动报错信息命令行
以往我也遇到过不少次该错误,每次模模糊糊混过去了并无记录如何解决的方案,更没有深究其中原理。正好在这篇文章中来刨一刨该问题的根。3d
犯错缘由:普通人对于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是干吗用的我还不太清除),这三个一旦出错,就容易出现上面的错误信息。
要避免这个错误,咱们能够直接就事论事,如何解决建立修改配置文件、初始化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.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目录反斜杠修改过来,不修改的话好像须要转义,即 \\
其余地方我也修改了,由于不知道修改的对不对,就不贴出来了,怕误导了你们;总而言之最后服务启动时没问题。
修改完成后,在bin目录打开powershell(在bin目录空白处按住shift鼠标右击),打开后键入命令 mysqld -install,在键入mysqld --initialize 在键入net start mysql 以下:
图3 - 成功启动mysql服务
其中问题的根源所在是配置文件的修改和书写,在下安装的是mysql8.0,若是你们8.0也遇到一样的问题,不妨按照上面所说的步骤试一试,也许就成功了呢! 这里也须要注意下,powershell中请尽可能以管理员身份打开,否则容易报错,在安装服务的时候若是不是管理员身份就会报access denied的错误等。