Mik*_*ike 19 mysql mysqlimport mysql-error-1045
有没有人知道为什么我在运行mysqlimport时会出现这个错误?
mysqlimport -u someone -pwhatever --columns=a,b,c,d,e bar /var/tmp/baz.sql
mysqlimport: Error: 1045, Access denied for user 'someone'@'%' (using password: YES), when using table: baz
Run Code Online (Sandbox Code Playgroud)
然而...
mysql -u someone -pwhatever
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 199
Server version: 5.1.41-3ubuntu12.10 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show grants;
+------------------------------------------------------------------------------------------------------------+
| Grants for someone@% |
+------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'someone'@'%' IDENTIFIED BY PASSWORD '*BLAHBLAHBLAH' |
| GRANT ALL PRIVILEGES ON `bar`.* TO 'someone'@'%' |
+------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
mysql>
Run Code Online (Sandbox Code Playgroud)
Omr*_*dan 29
通过使用mysqlimport的--local参数,您可以避免需要额外的权限:
--local, -L
Read input files locally from the client host.
Run Code Online (Sandbox Code Playgroud)
Mik*_*ike 22
好吧,事实证明FILE特权是一个"全局"特权,这显然意味着你不能在某些数据库,表上有选择地启用它.这就是为什么我之前关于bar.*的授权声明没有效果:
GRANT ALL PRIVILEGES ON `bar`.* TO 'someone'@'%'
Run Code Online (Sandbox Code Playgroud)
您需要授予FILE权限*.*
:
GRANT FILE ON *.* to 'someone'@'%';
Run Code Online (Sandbox Code Playgroud)
希望这有助于某人.
H.R*_*iee 13
有些人会选择此命令,跳过额外的FILE授权.
mysql -u username -p <yourdbname> < yourfile.sql
mysqlimport是LOAD DATA INFILE语句的命令行界面,您需要"FILE"权限(服务器级别).
Also, to use LOAD DATA INFILE on server files, you must have the FILE privilege.
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
27522 次 |
最近记录: |