mysql5.7文件无法导入数据库的解决方案

一般是因为my.ini的“secure-file-priv”的设置导致loaddata失败,网上查了许多资料,大部分都是要求注释掉my.ini的:

secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.6/Uploads

mysql5.7没有my.ini,只有mydefault.ini,复制改一个就ok了。

注释完不起效果,于是stack-over-flow上查看到这样一个解决方案:

http://stackoverflow.com/questions/32737478/mysql-how-to-tackle-secure-file-priv

用命令SHOW VARIABLES LIKE "secure_file_priv";查看一下uploads设置,结果uploads文件夹压根不存在,手动创建之。

loadfile尝试仍然失败。

于是想重启mysql服务,net stop后发现mysql服务压根没起来,net start mysql提示无法启动,服务器没有报告任何错误。

这种情况一般是缺少data目录,那就进入到mysql5.7的bin目录,用mysqld --initialize重建之,出现错误,提示data目录中有文件存在,可是我mysql5.7目录下没有文件存在啊?这种问题网上压根找不到答案,抓耳挠腮找了半天也不知道错误在哪,

突然发现my.ini中有个设置:datadir=D:/MySql/data    # 设置mysql数据库的数据的存放目录,必须是data,或者是//xxx/data  

寻思有没有可能是my.ini捣鬼,于是把my.ini改了个名字,再次mysqld --initialize,data目录初始化成功。

net start mysql

再次报错,无服务器没有提示任何错误

于是用mysqld --console查看详细信息,提示有服务占用了3306端口

进到系统服务里挨个看,发现有个服务名为mysql5.7,关闭掉

再次net start mysql,启动成功。

把my.ini名字改回来,顺利导入数据到表中,至此问题解决。

 

posted @ 2016-05-22 10:52  迈克儿  阅读(7078)  评论(0编辑  收藏  举报