Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是';拉吉夫拉坦'@';%';及rajivratn@localhost是指MySQL中的同一用户吗?_Mysql_Database_Access Denied_Grant_Mysql Error 1045 - Fatal编程技术网

是';拉吉夫拉坦'@';%';及rajivratn@localhost是指MySQL中的同一用户吗?

是';拉吉夫拉坦'@';%';及rajivratn@localhost是指MySQL中的同一用户吗?,mysql,database,access-denied,grant,mysql-error-1045,Mysql,Database,Access Denied,Grant,Mysql Error 1045,我希望将数据加载到数据库的表(数据集)中。 我使用的是标准命令 LOAD DATA INFILE '/home/rajivratn/single_output.tsv' IGNORE INTO TABLE dataset ... 我收到以下权限错误: ERROR 1045 (28000): Access denied for user 'rajivratn'@'localhost' (using password: YES) 大多数帖子都认为这个问题是由于MySQL上的文件特权造成的,可以

我希望将数据加载到数据库的表(数据集)中。 我使用的是标准命令

 LOAD DATA INFILE '/home/rajivratn/single_output.tsv' IGNORE INTO TABLE dataset ...
我收到以下权限错误:

ERROR 1045 (28000): Access denied for user 'rajivratn'@'localhost' (using password: YES)
大多数帖子都认为这个问题是由于MySQL上的文件特权造成的,可以通过以下GRANT命令来解决:

GRANT FILE ON *.* to 'rajivratn'@'%';
我已检查权限,并发现以下内容:

mysql> show grants for 'rajivratn'@'%'
    -> ;
+--------------------------------------+
| Grants for rajivratn@%               |
+--------------------------------------+
| GRANT FILE ON *.* TO 'rajivratn'@'%' |
+--------------------------------------+
1 row in set (0.00 sec)

mysql> show grants;
+------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for rajivratn@localhost                                                                                                                 |
+------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'rajivratn'@'localhost' IDENTIFIED BY PASSWORD 'somepassword'                               |
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON `yahoo`.* TO 'rajivratn'@'localhost' |
+------------------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
但是,我仍然收到错误1045(28000):用户'rajivratn'@'localhost'的访问被拒绝(使用密码:是)

此外,我为什么不能在Grants for中看到文件权限rajivratn@localhost为什么它不同于“rajivratn”@“%”的拨款

有没有解决这个问题的建议


谢谢

请根据以下内容给予许可-

GRANT USAGE ON *.* TO 'rajivratn'@'localhost' IDENTIFIED BY PASSWORD 'somepassword'; 
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, FILE ON `yahoo`.* TO 'rajivratn'@'localhost'
注意:添加了一个文件权限

MySQL帐户名由用户名和主机名组成。这允许为可以从不同主机连接的同名用户创建帐户

因此,不,这两个用户实际上是两个不同的用户,拥有两套独立的权限

而且

仅由用户名组成的帐户名等效于“用户名”@“%”。例如,“me”相当于“me”@“%”

连接时,服务器使用
mysql.user
表中的条目,按照内部排序顺序确定您是哪个用户

服务器使用排序规则,首先对具有最特定主机值的行进行排序。文字主机名和IP地址是最具体的

模式“%”表示“任何主机”,并且是最不特定的

因此,当您从
localhost
连接时,您将与该用户匹配,否则,您将与通配符用户匹配

您需要在localhost上删除该用户,或者特别是向其授予特权

mysql> GRANT ... TO rajivratn@localhost ...;

最后,我使用.csv文件使用以下命令将数据集加载到“yahoo”数据集中:

mysqlimport-u rajivratn-p——本地yahoo dataset.csv


感谢其他两个答案,因为它们还澄清了许多其他与mysql相关的重要概念。

感谢您的回答。如何使用MySQL授予我的ip/所有ip权限?我在CentOS服务器上使用MySQL。我已经向assing rights发出了命令,如果执行该命令,则可以从所有ip访问MySQL。如果将ip替换为%,则只能从该ip访问MySQL。这个ip表示您从任何gui工具访问mysql的本地系统ip。在googleare中搜索“what is my ip”后,您可以获得您的ip。如果您从db server本身即linux db machine执行此命令,则您拥有权限,并且似乎输入了错误的密码。实际上,在我的情况下,我正在安装MySQL的同一linux server上访问MySQL。因此,在这种情况下,本地主机ip应该与服务器ip相同。无论如何,我会要求我的老板授予我您建议的访问权限,因为我没有执行grant的权限。在您的情况下,当您在同一台db服务器上执行时,不需要额外的权限…您是否可以通过以下命令“mysql-urajivratn-p”在linux db服务器上连接mysql