Mysql中插入图片显示NULL

1. 通过mysql的shell命令进行测试,如果在shell中插入图片有问题,那么代码也就不能实现。

不能插入的原因:

        1. 路径问题,在windows中用的‘/’

        2.mysql默认的允许导入导出路径问题,secure-file-priv字段

        3. 用户缺少FILE权限

针对secure-file-priv问题可以先通过shell中命令查看是否是mysql系统默认设置的路径,如果系统设置了路径则需要修改。我遇到的就是这个问题

通过root权限登入,然后执行    show global variables like '%secure%';      操作查看

可以看到secure-file-priv 的允许路径是在 C:\ProgramData\MySQL\MySQL Server 8.0\Uploads 下。接下来可以通过修改my.ini 文件达到修改允许路径问题。

2. 修改my.ini文件

        1. 退出mysql操作,然后执行关闭mysql服务命令  net start mysql80   注意命令结束不加“;”

                        

        2.  打开  C:\ProgramData\MySQL\MySQL Server 8.0 路径下的my.ini文件,找到secure-file-priv               将其修改为 secure-file-priv = 

注意:修改前先备份,如果有问题还可以回退回去。

             my.ini文件是ANSI格式,修改后注意查看是否格式改变,如果格式改变启动服务会出问题。这里建议使用notepad软件打开和修改,里面可以查看文件格式

        3. 修改完成后通过root权限登入查看是否修改完成,同时插入一张图片检查下

3. 非root用户插入图片显示NULL

非root用户在mysql server部署机器通过load_file时出现  Column 'img' cannot be null

解决办法:为当前用户开通权限。给当前用户开通FILE Privilege权限时。

在root权限下,通过grant FILE on *.* to 'abcde'@'%'才能使FILE权限对所有db的所有tables生效,注意这里只能是对所有的数据库生效不能单独对某个数据库生效。

通过非root用户插入图片测试成功

这里可以看这篇博文:https://www.cnblogs.com/Braveliu/p/11411272.html

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值