解决Windows安装解压版MySQL出现服务正在启动-服务无法启动的问题

时间:2021-05-21 18:31:48

转载请声明出处:http://blog.csdn.net/u013067166/article/details/49951577


          最近重装了系统,去MySQL官网下载了最新的MySQL5.7.9,我选择的是解压版,安装之后启动服务的时候,提示服务无法启动,在网上找了很多教程,弄了很久都没有弄好,后来还是决定去英文官网找找答案,终于在官网发现了这个:


     As of MySQL 5.7.6, the Zip Archive no longer includes a data directory. To initialize a MySQL installation by creating the data directory and populating the tables in the mysql system database, initialize MySQL using either --initialize or --initialize-insecure. For additional information, see Section 2.10.1.1, “Initializing the Data Directory Manually Using mysqld”.


     大致意思是说在MySQL5.76之后,解压版不再包含一个data目录了,初始化安装MySQL需要使用 --initialize 或者--initialize-insecure指令,然后我就尝试了一下。



方法:

1.卸载掉以前安装的MySQL服务,如图2(如果在命令行窗口执行net start mysql出现图1提示的请忽视这一步,直接下一步

解决Windows安装解压版MySQL出现服务正在启动-服务无法启动的问题

                           图1

 

切换到自己MySQL根目录的bin目录下并执行mysqld --remove.

解决Windows安装解压版MySQL出现服务正在启动-服务无法启动的问题

                     图2

2.检查一下自己的my.ini是否配置正确,如果怕出错可以参考我的,但是记得把路径改为你自己的路径。如果之前没有配置过,在MySQL安装目录根目录下新建一个文本文件,参照下面的写法配置。(我的MySQL目录是D:\MySoftWare\mysql-5.7.9-winx64)


[mysqld]

#basedir代表自己MySQL的安装根目录
basedir = D:\\MySoftWare\\mysql-5.7.9-winx64

#datadir代表自己MySQL的数据库保存的目录,如果没有在MySQL安装的根目录下新建一个data文件夹 
datadir = D:\\MySoftWare\\mysql-5.7.9-winx64\\data

#port代表端口号
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

解决Windows安装解压版MySQL出现服务正在启动-服务无法启动的问题

3.在dos窗口下将目录切换到MySQL的根目录,然后执行bin\mysqld --defaults-file=my.ini --initialize-insecure(最好是复制我的,不然容易打错)。

解决Windows安装解压版MySQL出现服务正在启动-服务无法启动的问题

4.执行bin\mysqld --install,进行MySQL服务的安装。

解决Windows安装解压版MySQL出现服务正在启动-服务无法启动的问题

5.再尝试启动MySQL服务,在命令行窗口执行net start mysql,看看自己的MySQL服务是否能成功启动了!(Enter password那里,初始密码为空,直接回车就行)

解决Windows安装解压版MySQL出现服务正在启动-服务无法启动的问题


6.最后很重要,进去之后一定要设置密码,不然mysql会生成随机密码,第二次就进不去了!5.7.9设置密码的方式有一些变化,老版本密码是保存在mysql数据库user表的password中,而5.7.9的password字段变为了authentication_string,直接sql命令更改其值,再重启mysql服务即可!

依次执行命令如下(设置密码为123456):

use mysql;

update user set authentication_string="123456";

exit;

net stop mysql;

net start mysql;

mysql -u root -p

[输入密码]

-------------我是分割线,成功进入mysql------------




希望大家都能成功!!!