mysql导入数据权限_Mysql导入数据:编码问题和权限问题(Linux)

本文介绍了在Linux环境下,MySQL数据库导入数据时遇到的编码和权限问题。首先创建数据库并更改编码为GBK,然后创建表并尝试导入CSV数据。当出现文件权限错误时,通过修改文件所有者和MySQL用户权限来解决问题。同时提到了在Windows系统中使用LOAD DATA INFILE命令导入数据的方法。
摘要由CSDN通过智能技术生成

1、创建数据库

CREATE DATABASE `itpv` CHARACTER SET'gbk' COLLATE'gbk_chinese_ci';

2、更改数据库编码

mysql> show variables like "%char%";

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

8 rows in set (0.00 sec)

SET character_set_client='utf8';

SET character_set_connection='utf8';

SET character_set_results='utf8';

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | gbk |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

3、创建表:

create table iptv1000w( OriginTime datetime, DayId int, TimeId int, DeviceId BINARY(16),  StationId BINARY(16),

Action nvarchar(128),   SubSystem nvarchar(128),   BranchId int,    RowVersion timestamp, AssetID nvarchar(300),

ContentId BINARY(16), TuneUrl nvarchar(1024),  PlaylistUrl nvarchar(1024),  IsPF bit)default charset=utf8;

4、导入数据:mysql默认目录是/tmp

load data infile '/tmp/IPTV/EventClientTrickState20140616to22/IPTV1000W.csv' into table iptv1000w fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n' ignore 1 lines;(Linux)

可能有的时候不能导入出问题:ERROR 29 (HY000): File '/tmp/IPTV/EventClientTrickState20140616to22/IPTV1000W.csv' not found (Errcode: 13)

把该文件的所属用户和所属组都修改为mysql

该问题导致的原因可能是因为将最后权限 GRANT ALL PRIVILEGES ON *.* TO'%'@'%'IDENTIFIED BY "123" with grant option;(123为密码)覆盖了之前设置的权限

进入mysql

use mysql;

select user,host from user;查看用户及权限

delete user from user='%';

则不许用更改文件的所属用户和所属组都修改为mysql,可正常导入导出数据

导出:select * from table1 into outfile '/tmp/xx.csv'

load data local infile 'E:/IPTV1000W.csv' into table iptv1000w fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n' ignore 1 lines;(Win7)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值