我已经在SO和其他网站上看到了10多个与我的问题相关的答案,但是我仍然不能给'mysqlimport‘工作打电话。我想听听那些知道他们在做什么的人的建议。
在调用"mysql.server start“之后,我尝试如下:
mysqlimport -v --ignore-lines=1 --fields-terminated-by=, --columns='a,b,c' --local -u kevinismus -p testdb /path/to/file.csv但是得到错误:
mysqlimport: Error:用户'kevinismus'@'localhost‘(使用密码:YES)拒绝1045访问
我唯一能让这个命令起作用的方法就是我打电话给
mysql.server start --skip-grant-tables我宁愿不这么做。我尝试了答案here,我刷新了特权,重新启动了服务器,并调用了mysql_upgrade like suggested,所有这些都是徒劳的。我似乎拥有所有可用的特权:
mysql> select * from mysql.user where User='kevinismus' and Host='localhost'\G
Host: localhost
User: kevinismus
Password:
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
Create_tablespace_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin: mysql_native_password
authentication_string:
password_expired: N
1 row in set (0.00 sec)此外,如果我为kevinismus@localhost调用显示赠款,我会看到:
mysql> show grants for kevinismus@localhost;
+---------------------------------------------------------------------------+
| Grants for kevinismus@localhost |
+---------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'kevinismus'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------------+
1 row in set (0.01 sec)那是怎么回事?对于阻止我调用mysqlimport的MySQL特权,我遗漏了什么(我知道这实际上是调用LOAD数据INFILE )?任何帮助都将不胜感激。
FWIW,我使用的是MySQL版本5.6.23和OSX10.10.4。
发布于 2015-09-25 14:23:15
看起来'kevinismus'@'localhost‘没有密码(“显示授权”没有显示“由’标识‘”部分,mysql.users中的select显示密码字段中的空行)。
mysqlimport有“-p”选项,因此它将请求密码提示。在这种情况下,您可以从mysqlimport中删除"-p“,或者在它询问密码时只需点击"enter”即可。
发布于 2016-11-08 07:57:30
我想这在mysqlimport: Error: 1045, Access denied 已经有答案了
简而言之,要么使用mysqlimport -local选项,要么授予文件privelege:GRANT FILE ON *.* to 'someone'@'%';。
https://stackoverflow.com/questions/32750009
复制相似问题