我有 MySQL 用户 company_dev
谁有权访问数据库company_dev
,和用户 company_prod
谁有权访问数据库company_prod
.
当我以 root 身份登录 Debian 服务器时,我尝试将 SQL 文件导入到我的 company_dev
数据库。
这是我正在使用的命令:mysql -u company_dev -pMyPassword company_dev < some_db.sql
但我收到此错误:
Access denied for user 'company_dev'@'localhost' to database 'company_prod'
如果我正确理解此消息 - 曾尝试写入文件 some_db.sql
到company_prod
DB,即使我输入了 company_dev
在命令中?!
这怎么可能?
最佳答案
注意:在服务器上以 root 用户身份登录并不类似于 mysql 服务器的 root 用户,它们是不同的。
请检查以下内容:
检查密码是否正确,也可能需要将其放在引号中: -p'passWordHere'
文件 some_db.sql 可能有一些语句要插入 someDbName。核实。
您导入时使用的用户是 -u company_dev 您需要确保该用户拥有权限。
要授予权限,请使用此sql,您将需要如下内容:
GRANT [type of permission] ON company_prod TO ‘company_dev’@'localhost’;
这完全取决于您需要授予用户的权限, 所有权限都是这样的:
GRANT ALL PRIVILEGES ON * . * TO 'company_dev'@'localhost';
关于mysql - 使用命令行将SQL文件导入数据库时,使用了错误的MySQL用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43588192/