win系统下mysql数据表坏掉_WINDOWS下使用Mysql 中碰到的问题记录

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

ac48d8d65b39f91649386b3e3f507ea0.png

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

services.msc

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

62ba061b6d0855f75de45846bae0b298.png

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

net start MySQL80

尴尬,又报错了!

e414316099079016c7c2f79da5e7b17c.png

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

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

1245b1f1f540dae8a58118c006db7542.png

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

0363db929e121415f04e0710147d2777.png

原因是因为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%'

61df4b82579025b12873b10fd0fc5b5b.png

解决方法:

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

secure-file-priv =

e5154576a6a001c42240b4a904ff06a8.png

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

e85842d9dbfe2561b1b024cb5301569d.png

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

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

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

SELECT'统计日期','支付金额','成功退款金额'FROM

alfonso INTO OUTFILE'C:/Users/user/Desktop/XX.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY '\r\n';

# FIELDS TERMINATED BY ',' 以,作为分隔符

# OPTIONALLY ENCLOSED BY '"' 字段用"号括起

# ESCAPED BY '"' 用"当做转义字符

# LINES TERMINATED BY '\r\n' 以'\r\n'为行间分隔符

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

0b5774df859ec16672ee605eb793e07c.png

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

394ca9aecc864c2fad64d7a2170e9fcf.png

问题解决!~~~

问题:导出的数据是乱码

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

ff30834efabcdb68a1316fb29097243d.png

问题:导出的数据没有列表头

这就他妈尴尬了,导出来的数据居然不带头,这搞毛线啊!还好天无绝人之路之路,在网络上找到了思路,利用union方法

原来不带头的公式:

select 统计日期,支付金额,成功退款金额 from 表名

现在带头的公式:

select * from (SELECT'统计日期','支付金额','成功退款金额' UNION SELECT 统计日期,支付金额,成功退款金额 FROM 表名)b;

问题成功解决!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值