参照网上MySql 5.6的安装步骤,安装MySql服务后,使用net start mysql命令启动服务时,报错:
MySQL 服务正在启动 .MySQL 服务无法启动。
服务没有报告任何错误。
请键入 NET HELPMSG 3534 以获得更多的帮助。
经过查找,找到了解决方法。
方法和步骤如下所示:
1.从官网下载MySQL
http://dev.mysql.com/downloads/mysql/
ZIP Archive版本:mysql-5.7.14-winx64
2.解压到想安装到的D:mysql,生成D:mysqlmysql-5.7.14-winx64目录,进入该目录,找到my-defualt.ini,在my-defualt.ini旁边新增一个my.ini文件,内容为(把里面D:mysqlmysql-5.7.14-winx64改成你自己的软件路径,保存):
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:mysqlmysql-5.7.14-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:mysqlmysql-5.7.14-winx64data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
3.以管理员身份运行cmd.exe
一直cd到d:mysqlmysql-5.7.14-winx64bin目录
输入命令 mysqld install
提示:Service successfully installed.
安装以后启动mysql服务
输入命令 net start mysql
5.7以上的版本可能会无法启动,报错:服务没有报告任何错误。
输入命令 mysqld --initialize
正常情况下无任何提示,自动空格一行,即代表初始化成功。
再重新启动服务就可以开起来,原因是5.7安装文件夹里面缺少data文件夹,initialize以后会自动生成这个文件夹及其中文件。
4.注意:
1、网上有的说法是拷贝其他版本的data目录,照样可以启动服务,但是不建议这样操作,因为你无法保证新版本生成的data目录和老版本的完全一样。
2、使用mysqld --initialize命令前,不要自己创建data目录,否则无法正常生成全部data目录文件,会出现如下错误提示:
D:mysqlmysql-5.7.14-winx64bin>mysqld --initialize
2016-08-25T02:26:39.100728Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).2016-08-25T02:26:39.100728Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2016-08-25T02:26:39.110728Z 0 [ERROR] Aborting
遇到这个问题,就直接删掉自己创建的data目录,然后再执行mysqld --initialize命令即可。