我想导入一个非常大的 sql 文件。因此我使用以下命令
mysql -u username -p dbname < something.sql
当它提示输入密码时我输入了密码...
然后它会抛出一个像这样的错误
第 21 行出现错误 1044 (42000):拒绝用户“username”@“localhost”访问数据库“db”
我使用了授权命令并使用控制面板授予了权限...仍然出现相同的错误..
知道为什么会抛出这个错误吗?请帮帮我。
答案1
您需要非常清楚 GRANT 命令。如果您使用 授予它'username'@'localhost'
,则它只能由本地运行数据库的 mysql 使用。如果您使用 授予它'username'@'%'
,则它只能从远程位置使用,而不能从本地计算机使用。
答案2
您的用户无权连接该数据库。或者根本不存在于该表单中。您可以创建它并同时授予权限。查看http://dev.mysql.com/doc/refman/5.1/en/grant.html页面上,搜索“IDENTIFIED BY”关键字。
答案3
您可能需要在授予之后“刷新权限”。
答案4
您可能错误地运行了授权,它看起来应该是这样的:
GRANT ALL PRIVILEGES ON dbname.* TO username@localhost IDENTIFIED BY 'mysecretpassword'