【问题标题】:Codeigniter error Unable to connect to MongoDB: Failed to connect: auth failedCodeigniter 错误无法连接到 MongoDB:无法连接:身份验证失败
【发布时间】:2016-02-06 09:17:24
【问题描述】:

我正在尝试使用 codeigniter mongodb 库 Codeigniter-mongo-library-master 连接到 mongodb 数据库“考试”。我已经使用

为这个数据库创建了一个用户
db.createUser({ user: "root",
  pwd: "root",
  roles: [
    { role: "readWrite", db: "exam" },
   ]
}}

成功了。

然后,当我尝试使用 codeigniter 连接到这个数据库时:

$config['mongo_db']['default']['no_auth'] = FALSE;
$config['mongo_db']['default']['hostname'] = 'localhost';
$config['mongo_db']['default']['port'] = '27017';
$config['mongo_db']['default']['username'] = 'root';
$config['mongo_db']['default']['password'] = 'root';
$config['mongo_db']['default']['database'] = 'exam';

我收到如下所示的错误:

无法连接到 MongoDB:无法连接到:localhost:27017:使用用户名“root”对数据库“exam”进行身份验证失败:身份验证失败。

我在 Windows 7 上使用 php 版本 5.5.12 和 mongodb 驱动程序 php_mongo-1.5.1-5.5-vc11-x86_64.dll。

我可以得到一些帮助来解决这个问题吗?

【问题讨论】:

    标签: php mongodb codeigniter bigdata database


    【解决方案1】:

    尝试改变这个变量的值:

    $config['mongo_db']['default']['no_auth'] = FALSE

    $config['mongo_db']['default']['no_auth'] = TRUE

    【讨论】:

      【解决方案2】:

      现在打开您的控制器或模型文件,您需要在其中激活另一个数据库连接并在类的构造函数中编写以下代码。

      $this->load->library('mongo_db', array('activate'=>'newdb'),'mongo_db2');

      【讨论】:

      • 嗨。这么晚才回复很抱歉。我没看懂你的回答。能否请您详细说明。你说如果我想要另一个与数据库的连接,我需要使用上面的代码。但我为什么需要它?我已经有一个带有用户凭据的数据库“考试”。
      猜你喜欢
      • 2013-12-29
      • 1970-01-01
      • 1970-01-01
      • 2020-12-23
      • 2015-06-02
      • 2018-01-25
      • 2021-01-18
      • 1970-01-01
      • 2019-06-22
      相关资源
      最近更新 更多