问题描述
我已经在连接到我的网络的 Pi2 上安装了 MariaDB。我可以通过 ssh 甚至 VNC 直接访问 Pi。我也可以使用 MysqL Workbench 连接到它。
我有 CSV(梦幻足球统计数据),我想加载到数据库中的一个表中,这两个数据我都已经创建了。
CREATE DATABASE stats;
USE stats;
CREATE TABLE ff2020(
id INT NOT NULL AUTO_INCREMENT,PlayerName VARCHAR(255) NOT NULL,Team VARCHAR(255) NOT NULL,Position VARCHAR(255) NOT NULL,Age INTEGER,GamesPlayed INTEGER,Gamesstarted INTEGER,Targets INTEGER,Receptions INTEGER,PassingYds INTEGER,PassingTDs INTEGER,PassingAtt INTEGER,rushingYds INTEGER,rushingTDs INTEGER,rushingAtt INTEGER,ReceivingYds INTEGER,ReceivingTDs INTEGER,FantasyPoints INTEGER,Interceptions INTEGER,Fumbles INTEGER,FumblesLost INTEGER,PRIMARY KEY (id)
);
我使用 WinSCP 将包含 CSV 的文件从我的计算机传输到 RPi,并且最初将包含 CSV 的文件放在桌面上。
USE stats;
LOAD DATA INFILE '/home/pi/Desktop/CSVs for stats/data-master/yearly/2020.csv'
INTO TABLE ff2020
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LInes TERMINATED BY '/n'
IGnorE 1 ROWS;
作为回应,我收到消息:
Error Code: 1045. Access denied for user 'marine'@'localhost' (using password: YES)
用户 marine
拥有所有权限,但使用 root
会发生同样的事情。
我看过其他帖子提到改变:
LOAD DATA INFILE...
到
LOAD DATA LOCAL INFILE...
当我尝试这样做时,我收到消息:Error Code: 2068. LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.
我也看到有人说要反转文件路径中的所有斜线,但是当我尝试时,我没有得到任何不同的结果。
所以,我假设存在一个问题,即 MariaDB 无法看到或访问 pi 上的其他文件,我不知道如何解决这个问题。我是否需要做一些更复杂的事情,例如启用对 MariaDB 的远程访问,即使一切都在一台设备上?
谢谢。
解决方法
登录时传递 --local-infile
mysql -u[username] -p[password] --local-infile
然后指定 LOAD DATA LOCAL INFILE...
应该可以解决问题