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

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

1
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 @   迈克儿  阅读(7127)  评论(0编辑  收藏  举报
编辑推荐:
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
阅读排行:
· “你见过凌晨四点的洛杉矶吗?”--《我们为什么要睡觉》
· 提示词工程师自白:我如何用一个技巧解放自己的生产力
· C# 从零开始使用Layui.Wpf库开发WPF客户端
· C#/.NET/.NET Core技术前沿周刊 | 第 31 期(2025年3.17-3.23)
· 如何不购买域名在云服务器上搭建HTTPS服务
点击右上角即可分享
微信分享提示