mysql - 使用命令行将SQL文件导入数据库时​​,使用了错误的MySQL用户

标签 mysql shell command-line debian

我有 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.sqlcompany_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/

相关文章:

shell - 如何在 Unix shell 中将 pwd 定义为变量

bash - 在 bash 中的字母处剪切数字字符串

linux - 如何在 shell 脚本中为失败的作业发送电子邮件

node.js - PM2 监控与 PM2 日志

windows - 更改计算机分辨率的批处理命令

php - PDO 有效 SELECT 和 INSERT

mysql - 从 MS SQL Server 插入到 MySQL 数据库

MySQL 查询语句错误

ruby - Homebrew 程序不再工作了。 "The i18n gem is not available"

MySQL导出聊天记录表