我在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文件的完整路径,我仍然会遇到同样的错误。
有什么想法吗?
答案 0 :(得分:0)
SHOW GRANTS的输出是什么;
(您不必再显示ON - 我们不需要查看您的用户名或主持人等)
答案 1 :(得分:0)
您的访问被拒绝问题可能是因为您帐户的数据库权限,但我怀疑这是因为查询浏览器未使用您的帐户有权访问的数据库。 上面的“%”不是您希望的数据库。
在脚本顶部插入use [database]
语句。
工作台中的查询浏览器似乎没有按照我期望的方式推断默认数据库,我认为这会导致您的问题。我似乎经常要在工作台的查询浏览器中插入一个use语句来运行。