Erlo

WINDOWS下使用Mysql 中碰到的问题记录

时间:2018-11-20   阅读:897次   来源:博客园
页面报错
点赞

 

 

问题:在cmd中输入net stop mysql反馈“服务名无效”

 

win+R打开运行窗口,输入

services.msc

查看其中mysql的服务名,比如我的是叫做MySQL80

让我们继续回到最开始的部分,在cmd窗口输入

net start MySQL80

尴尬,又报错了!

百度了才知道原来是因为我们的cmd窗口并不是使用管理员身份打开的,所以才会被系统拒绝访问!

在以管理员身份启动后,输入上面的代码,Mysql启动成功!

 

问题:mysql使用into outfile会报错“ (1290, 'The MySQL server is running with the --secure-file-priv option so it cannot execute this statement')”

原因是因为mysql 5.7新增了一个secure-file-priv参数,这个参数是用来限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()传到哪个指定目录的。

  • secure_file_priv的值为NULL ,表示限制mysql 不允许导入|导出

  • 当secure_file_priv的值为具体目录 ,表示限制mysql 的导入|导出只能发生在设定目录下,目录必须存在,mysql不会创建目录

  • 当secure_file_priv的值没有具体值时,表示不对mysql 的导入|导出做限制

 

那我们怎么在mysql中查看这个参数呢?在cmd使用以下命令即可!

show variables like '%secure%'

 

解决方法:

在mysql文件的my.ini配置文件里面修改,新增一行,输入

secure-file-priv =

保存,重启mysql,注意,不是在cmd当中退出mysql,而是直接关闭mysql服务,在重启,具体的可以百度。

 

哈哈,终于修改成功了,Oh,yeah!

官方文档:https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_secure_file_priv

 ================================ 这里是愉快的分割线 ================================

顺便记录下,mysql导出数据的各项参数意思:

SELECT
    '统计日期',
    '支付金额',
    '成功退款金额' 
FROM
    alfonso INTO OUTFILE 'C:/Users/user/Desktop/XX.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY 'rn';

# FIELDS TERMINATED BY ',' 以,作为分隔符
# OPTIONALLY ENCLOSED BY '"' 字段用"号括起
# ESCAPED BY '"' 用"当做转义字符
# LINES TERMINATED BY 'rn' 以'rn'为行间分隔符

 

问题:输出数据中报错‘OS errno 13 - Permission denied’

这个是因为mysql没有读/写文件的权限,找到的解决办法是打开计算机服务,找到mysql服务,点击属性,选择登入,在这里修改下登录身份,选择本地身份保存即可,这里需要重新启动mysql服务!

问题解决!~~~

 

问题:导出的数据是乱码

这个是需要在my.ini文件中修改下参数即可完美解决!

 

评论留言

还没有评论留言,赶紧来抢楼吧~~

吐槽小黑屋()

* 这里是“吐槽小黑屋”,所有人可看,只保留当天信息。

  • Erlo吐槽

    Erlo.vip2021-10-27 04:10:01Hello、欢迎使用吐槽小黑屋,这就是个吐槽的地方。
  • 返回顶部

    给这篇文章打个标签吧~

    棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认