mongod用户创建
groupadd mongod
adduser -s /bin/false -d /bin/null --no-create-home -c mongod -g mongod mongod
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
由上面的格式可以看出,每一行代表一个用户的信息,一共包括7个字段的信息,每个字段的信息用冒号隔开。这7个字段分别代表:
1. 账号名称:即登陆时的用户名
2. 密码:早期UNIX系统的密码是放在这个文件中的,但因为这个文件的特性是所有程序都能够读取,所以,这样很容易造成数据被窃取,因此后来就将这个字段的密码数据改放到/etc/shadow中了
3. UID:用户ID,每个账号名称对应一个UID,通常UID=0表示root管理员
4. GID:组ID,与/etc/group有关,/etc/group与/etc/passwd差不多,是用来规范用户组信息的
5. 用户信息说明栏: 用来解释这个账号是干什么的
6. 家目录:home目录,即用户登陆以后跳转到的目录,以root用户为例,/root是它的家目录,所以root用户登陆以后就跳转到/root目录这里
7. Shell:用户使用的shell,通常使用/bin/bash这个shell,这也就是为什么登陆Linux时默认的shell是bash的原因,就是 在这里设置的,如果要想更改登陆后使用的shell,可以在这里修改。另外一个很重要的东西是有一个shell可以用来替代让账号无法登陆的命令,那就是 /sbin/nologin。
mongo-cxx-driver-legacy-1.0.4
scons --extrapath=/usr/local/boost158/ --prefix=/usr/local/mongodb30 --ssl=SSL --use-sasl-client=USE-SASL-CLIENT ./
boost_1_58_0.tar
./bootstrap.sh --prefix=/usr/local/boost158
./b2 install
mongo-cxx-pool-master(需要-std=c++11 可以修改源码用低版本编译)
mongodb3.0 连接串mongodb://xxx:xxx@192.168.0.21:27017/admin
mongodb3.0 复制集连接串mongodb://xxx:xxx@192.168.0.21:27011,192.168.0.21:27012,192.168.0.21:27010/admin?authMechanism=SCRAM-SHA-1&authSource=admin&replicaSet=rs0(使用authMechanism= MONGODB-CR失败 默认,只需提供复制集中一个正确的ip)
需要先认证才能准确得到 mastr和slave
cout<<"11:"<<conn->slaveConn().getServerAddress()<<endl;
BSONObj obj = conn->slaveConn().findOne("test.testdb", MONGO_QUERY("_id"<<OID("55b886c1b0852f7c713227b0")),0,QueryOption_SlaveOk);
cout<<obj.jsonString()<<endl;
可能获取不同的地址
DBClientConnection& conn1 = conn->slaveConn();
cout<<"11:"<<conn1.getServerAddress()<<endl;
BSONObj obj = conn1.findOne("test.testdb", MONGO_QUERY("_id"<<OID("55b886c1b0852f7c713227b0")),0,QueryOption_SlaveOk);
cout<<obj.jsonString()<<endl;