我有MySQL用戶company_dev
誰有權訪問DB company_dev
和用戶company_prod
誰有權訪問DB company_prod
。當使用命令行將SQL文件導入數據庫時,使用了錯誤的MySQL用戶
當我在我的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
企圖數據庫,即使我把company_dev
在命令中?
這怎麼可能?
謝謝你的回答。我會看看你提供的鏈接。 但是,我不確定我是否完全清楚。 用戶'company_dev'擁有'company_dev'數據庫的所有權限。 但是,當我從我的問題執行命令,似乎用戶'company_dev'試圖將SQL文件導入到'company_prod'數據庫。 儘管在命令中明確指出SQL文件必須由用戶'company_dev'導入到'company_dev'數據庫! –
我認爲你寫的第二項是問題 - 「文件some_db.sql可能有一些語句要插入someDbName,請檢查它。」 有SQL 'CREATE DATABASE/*!32312 IF NOT EXISTS */company_prod/*!40100 DEFAULT CHARACTER SET utf8mb4 * /; USE company_prod;' –
我需要找到一種方法,只從'company_prod'中導出數據,不需要這些命令來創建數據庫。 所以我可以在'company_dev'中導入這些數據。 –