在appfog上管理你的Nodejs数据库

在appfog上管理你的Nodejs数据库

appfog用的人越来越多,我也跟潮流挂了一个博客上去,说实话,确实非常简单、好用。 但是管理数据库就不是那么方便了,appfog把数据库的链接向使用者保密,如果是mysql的用户,一般用phpMyadmin管理,我想mongo这类数据库也可以用这类方法管理。 但是今天要说的,不是这种方式。

由于不太懂php,所以我在appfog上找到一篇文章,专门介绍使用隧道(tunnel)来管理数据库的。今天简单介绍下。

1.打开你的Start Command Prompt with Ruby。如果不是window用户,直接跳到第3步。

2.如果是windw用户,则比较麻烦,在Start Command Prompt with Ruby里面运行会出现提示,需要安装devkit,并在devkit上先执行 gem install caldecott和gem install af,然后才可以下一步。


3.devkit或者start command prompt with ruby里面,先登录af,就像平时一样:af login,输入用户名密码,登陆成功后,敲入 af tunnel [你的数据库]。比如我就是af tunnel blog

4.他会运行一段时间,建立隧道,完成后显示Getting tunnel connection info:OK

5.这时他问你用哪个,你选择none,这样的话,隧道为你打开了,你可以使用图形化工具直接连接。


6.在你的连接工具中输入你的数据库连接信息,笔者是mongoVUE。 名称: 随意。 用户名: 输入命令行中service connection info中提示的username 密码: 输入命令行中service connection info中提示的password。(比较长,别敲错了) 端口: 输入命令行中提示的 Starting tunnel to blog on port 10000中的10000(默认10000,自己按照自己的提示来) url/server:输入localhost或者127.0.0.1 数据库: 输入db(不管你的数据库原来叫什么,都选db)。


7.试验一下,是否可以连接了?笔者是好了。但是连接完后记得Ctrl+C关闭tunnel,毕竟这样一直连接着比较危险。


10 回复

在AppFog上管理你的Node.js数据库

AppFog是一个非常方便的云平台,适合快速部署和管理应用。然而,当你开始处理数据库时,可能会发现一些不便之处,特别是当AppFog将数据库的连接信息保密起来的时候。

使用隧道(Tunnel)管理数据库

本文将介绍如何使用隧道(Tunnel)来管理AppFog上的数据库。这种方法不需要依赖于图形界面工具,而是通过命令行工具来实现数据库的管理和操作。

步骤1:准备环境

首先,确保你已经安装了Ruby和相关的开发工具(DevKit)。对于Windows用户,你需要安装DevKit并执行以下命令:

gem install caldecott
gem install af

这些命令将安装必要的库来帮助我们建立隧道连接。

步骤2:登录AppFog

打开命令行工具(对于Windows用户,使用Start Command Prompt with Ruby),然后运行以下命令来登录AppFog:

af login

根据提示输入你的用户名和密码。登录成功后,你就可以继续下一步了。

步骤3:创建隧道

接下来,我们需要为特定的数据库创建一个隧道连接。假设你的数据库名为blog,你可以运行以下命令:

af tunnel blog

这将启动一个隧道连接,用于与数据库进行通信。命令运行一段时间后,会显示“Getting tunnel connection info: OK”。

步骤4:配置连接工具

现在,你可以使用任何数据库客户端工具(如MongoVue)来连接数据库。以下是配置连接信息的步骤:

  • 名称:随意命名。
  • 用户名:从命令行中的service connection info中获取。
  • 密码:同样从service connection info中获取。
  • 端口:从命令行输出的信息中获取,默认为10000。
  • URL/Server:输入localhost127.0.0.1
  • 数据库:输入db(尽管实际数据库可能有不同的名字)。

步骤5:测试连接

最后,尝试连接到数据库。如果一切正常,你应该能够成功连接。记住,在完成操作后,按Ctrl+C来终止隧道连接。

示例代码

以下是一个简单的Node.js代码片段,展示如何使用Mongoose连接到数据库:

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost:10000/db', {
  useNewUrlParser: true,
  useUnifiedTopology: true
});

const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
  console.log("Connected to the database!");
});

以上代码展示了如何使用Mongoose连接到通过隧道连接的数据库。确保在实际环境中替换端口号和数据库名称。

通过上述步骤和示例代码,你可以在AppFog上有效地管理你的Node.js数据库。


每次发表都提示该网站正在备案,结果我就一口气发了这么多。请去掉多余主题,谢谢

已删除。由于备案带来的不便还请海涵。

太好了,正因为查看appfog数据库里面的信息而烦恼,感谢!

如果我不打通隧道而直接在上线的网页中打印数据库信息然后填写到可视化图形工具上能否直接连接呢?

哈哈,俺用mysql,直接php-myadmin管理无压力!

gem install caldecott提示Failed to build gem native extension

gem install 的时候可能出现的问题很多,需要你进一步查看日志来定位问题

在AppFog上管理你的Node.js数据库可以通过创建一个隧道来进行,这使得你能够通过本地的图形化工具连接到远程的数据库服务。下面是详细的步骤说明和一些示例代码。

步骤说明

1. 打开命令行工具

  • Windows用户: 打开 “Start Command Prompt with Ruby”。其他操作系统用户可以直接跳到第3步。

2. 安装必要的工具

  • 在"Start Command Prompt with Ruby" 中安装caldecottaf命令:
    gem install caldecott
    gem install af
    

3. 登录到AppFog

  • 使用af login命令登录到你的AppFog账户:
    af login
    
  • 输入你的用户名和密码完成登录。

4. 创建隧道

  • 使用af tunnel命令创建一个到特定数据库的隧道。例如,如果你的数据库名称为blog,则运行:
    af tunnel blog
    

5. 获取数据库连接信息

  • 命令会运行一段时间来建立隧道,完成后你会看到类似Getting tunnel connection info: OK的消息。
  • 接下来系统会询问你如何获取连接信息,选择none以继续。

6. 使用图形化工具连接

  • 使用你偏好的图形化工具(如mongoVUE)连接到数据库。
    • 名称:随意
    • 用户名:从命令行中的service connection info中复制
    • 密码:同上
    • 端口:通常是10000,具体根据命令行提示
    • URL/Server:输入localhost127.0.0.1
    • 数据库:输入db,忽略原来的数据库名称

7. 测试连接并结束隧道

  • 测试连接是否成功。如果一切正常,可以使用Ctrl+C关闭隧道。

示例代码

// 假设你已经安装了MongoDB驱动程序
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:10000/db';

MongoClient.connect(url, { useNewUrlParser: true, useUnifiedTopology: true }, (err, client) => {
  if (err) throw err;
  console.log("Connected to Database");
  const db = client.db('db');
  // 你可以在这里进行数据库操作
  client.close();
});

这段代码展示了如何使用Node.js和MongoDB驱动程序连接到通过AppFog隧道管理的数据库。确保替换URL中的具体信息。

回到顶部