1

我在将项目添加到 MySql 中的表时遇到问题。

情况:

我有一个 sql 脚本,它是一个本地文件,它包含以下信息:

CREATE TABLE Regions (
    RegionID smallint AUTO_INCREMENT NOT NULL ,
    CountryID smallint NOT NULL ,
    Region varchar (45) NOT NULL ,
    Code varchar (8) NOT NULL ,
    ADM1Code char (4) NOT NULL ,
    PRIMARY KEY(RegionID)
    );

LOAD DATA INFILE 'Regions.txt' INTO TABLE Regions
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n' IGNORE 1 LINES;

在 MySQL 工作台中,我打开该 sql 文件,然后单击执行,表已创建,但在填充表时出现错误:

LOAD DATA INFILE 'Cities.txt' INTO TABLE Cities FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES    
Error Code: 1045. Access denied for user 'myuser'@'%' (using password: YES)

而且我真的不明白为什么......这是mysql的问题还是我的文件有问题......?

另一个问题是,脚本在哪里尝试检索文件?我认为他可能找不到正确的位置,尽管即使我尝试提供包含数据的 txt 文件的完整路径,我仍然遇到同样的错误。

任何想法?

4

2 回答 2

0

您的访问被拒绝问题可能是因为您的帐户对数据库的权限,但我怀疑这是因为查询浏览器没有使用您的帐户有权访问的数据库。上面的 '%' 不是你想要的数据库。

use [database]在脚本顶部插入一条语句。

工作台中的查询浏览器似乎没有以我期望的方式推断默认数据库,我认为这会导致您的问题。我似乎经常需要插入一条 use 语句才能在工作台的查询浏览器中运行。

于 2013-08-18T13:37:12.543 回答
0

SHOW GRANTS 的输出是什么?

(您无需显示任何内容,只需打开 - 我们不需要查看您的用户名或主机等)

于 2013-05-20T11:56:10.640 回答