Question:
MySQL(解压版)安装时提示“MySQL服务正在启动,MySQL服务无法启动。服务没有报告任何错误。”
InnoDB: Unable to create temporary file;
错误提示如下图
Analysis:
猛然一看这个错误真的很懵逼,无法启动还没有任何错误报告。
这个错误其实是个例,具体原因我也不知道。
同样的操作,在我的笔记本上就能正常启动MySQL服务,在台式机上就提示这个错误。
于是只有打开我们万能的百度看看能不能解决。。。
结果看了好多好多还是没有解决,不过还是有了启发,才有了本文的解决办法。
~~~~~~
首先初始化完成之后未启动MySQL服务
查看{你的电脑名}.err文件
如下图
在这个文件中我们可以看到没有任何错误信息
如下图
当我们进行net start mysql的时候就会出现下面的错误信息
如下图
然后会看到这个错误信息
后面的错误也都是因为这个错误才出现的
创建临时文件的方法也很简单
只需要在my.ini文件中加入一行代码就OK
tmpdir=D:\Java\mysql-5.7.28-winx64\temp
然后我也加了
依然是Question中的错误信息
后来突然想到有一篇博文说的是basedir和datadir要用“\\”才不会出错
而且在C编程中我们表示路径一般都是用“\\”表示路径分隔符
# 设置mysql的安装目录
# 切记此处一定要用双斜杠\\,单斜杠我这里会出错
# 不过看别人的教程,有的是单斜杠。自己尝试吧
basedir=D:\\Java\\mysql-5.7.28-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\\Java\\mysql-5.7.28-winx64\\data
于是就把tmpdir=D:\Java\mysql-5.7.28-winx64\temp
变成了tmpdir=D:\\Java\mysql-5.7.28-winx64\\temp
加入到my.ini文件中
成功解决问题
Solution:
非常简单的解决办法
我们这种个例
只需要把my.ini文件改一下就OK了
下面是my.ini文件
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
# 切记此处一定要用双斜杠\\
# 我这里会出错,不过看别人的教程,有的是单斜杠。自己尝试吧
basedir=D:\\Java\\mysql-5.7.28-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\\Java\\mysql-5.7.28-winx64\\data
# 临时文件夹
tmpdir=D:\\Java\\mysql-5.7.28-winx64\\temp
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
#default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8