1. 目前的集群环境
Master:192.168.100.103
Slave:192.168.100.104
Slave:192.168.100.105
Arbiter:192.168.100.106
2. 集群启动方法
2.1 Master:192.168.100.103
在/home/bms/mongodb-3.0.5目录下执行以下命令
./mongod –f ../conf/mongodb-master.conf
注意:如果没有启动成功,应该从以下方面进行排查
1) 看下整个集群的网络环境是否已经畅通
1. 目前的集群环境
Master:192.168.100.103
Slave:192.168.100.104
Slave:192.168.100.105
Arbiter:192.168.100.106
2. 集群启动方法
2.1 Master:192.168.100.103
在/home/bms/mongodb-3.0.5目录下执行以下命令
./mongod –f ../conf/mongodb-master.conf
注意:如果没有启动成功,应该从以下方面进行排查
1) 看下整个集群的网络环境是否已经畅通
2) 查看集群中各个服务器的防火墙是不是已经关闭。
3) 用如下命令进行重新启动:./mongod –f ../conf/mongodb-master.conf --repair
2.2 Slave:192.168.100.104
在/home/bms/mongodb-3.0.5目录下执行以下命令
./mongod –f ../conf/mongodb-slave.conf
注意:如果没有启动成功,应该从以下方面进行排查
4) 看下整个集群的网络环境是否已经畅通
5) 查看集群中各个服务器的防火墙是不是已经关闭。
3)用如下命令进行重新启动:./mongod –f ../conf/mongodb-slave.conf --repair
2.3 Slave:192.168.100.105
在/home/bms/mongodb-3.0.5目录下执行以下命令
./mongod –f ../conf/mongodb-slave.conf
注意:如果没有启动成功,应该从以下方面进行排查
6) 看下整个集群的网络环境是否已经畅通
7) 查看集群中各个服务器的防火墙是不是已经关闭。
3)用如下命令进行重新启动:./mongod –f ../conf/mongodb-slave.conf --repair
2.4 Slave:192.168.100.106
在/home/bms/mongodb-3.0.5目录下执行以下命令
./mongod –f ../conf/mongodb-arbiter.conf
注意:如果没有启动成功,应该从以下方面进行排查
8) 看下整个集群的网络环境是否已经畅通
9) 查看集群中各个服务器的防火墙是不是已经关闭。
3)用如下命令进行重新启动:./mongod –f ../conf/mongodb-arbiter.conf --repair
3. 集群如何进入命令行
3.1 Master:192.168.100.103
在/home/bms/mongodb-3.0.5目录下执行以下命令
./mongo 192.168.100.103:10111
3.2 Slave:192.168.100.104
在/home/bms/mongodb-3.0.5目录下执行以下命令
./mongo 192.168.100.104:10111
3.3 Slave:192.168.100.105
在/home/bms/mongodb-3.0.5目录下执行以下命令
./mongo 192.168.100.105:10111
3.4 Slave:192.168.100.106
在/home/bms/mongodb-3.0.5目录下执行以下命令
./mongo 192.168.100.105:20111
4. 集群常见命令
4.1 查看当前Mongodb中所有的数据库
show dbs
4.2 切换到指定的数据库
use mydb(数据库名字)
注意:如果当前集群中没有mydb数据库,那么use mydb命令会自动创建mydb数据库,但是mydb在没有自己的Collection之前,用show dbs 命令无法看见mydb数据库。
4.3 查看指定数据库下的所有Collection
1)切换到指定的数据库
use mydb
2)查看指定数据库下所有的collection
show collections
4.4 创建Collection
1)切换到指定的数据库
use mydb
2)查看指定数据库下所有的collection
db.createCollection(‘MyCollection’); MyCollection’是要创建的Collection的名字
4.5 向Collection中插入数据
1)切换到指定的数据库
use mydb
2)向指定collection中插入一条记录
db.MyCollection.insert({username:’xuguokun’}
4.6 删除Collection中的数据
1)切换到指定的数据库
use mydb
2)将指定collection中指定的记录删除
db.MyCollection.remove({username:’xuguokun’})
4.7 从物理上删除Collection
1)切换到指定的数据库
use mydb
2)从物理上删除指定的collection
db.MyCollection.drop();
4.8 从物理上删除Collection
1)切换到指定的数据库
use mydb
2)从物理上删除指定的collection
4.9 Mongodb导出数据
1) 进入Mongodb的所在目录
cd /home/bms/mongodb-3.0.5/bin
2)执行导出命令(导出格式为JSON格式)
./mongoexport –h 192.168.100.103 –port 10111 –d MyTestDB –cMyCollection –o /home/bms/MyTestDB.dat
-d 指明使用的库, 本例中为“MyTestDB”
-c 指明要导出的表, 本例中为“MyCollection”
-o 指明要导出的文件名, 本例中为“/home/bms/MyTestDBJSON.datt”
--port 指明mongodb的开放端口
-h 指定Mongodb的主机
3) 执行导出命令(导出格式为CSV格式)
./mongoexport -d MyTestDB -c MyCollection --csv –f _id,username,age -o /home/bms/MyTestDBCSV.dat
--csv 指要要导出为 csv 格式
-h 指定Mongodb的主机
-f 指明需要导出哪些例(该参数必须指定)
4.10 Mongodb导入数据
1) 进入Mongodb的所在目录
cd /home/bms/mongodb-3.0.5/bin
2)执行导出命令(导出格式为JSON格式)
./mongoimport –h 192.168.100.103 –port 10111 –d MyTestDB –cMyCollection –o /home/bms/MyTestDBJSON.dat
-d 指明使用的库, 本例中为“MyTestDB”
-c 指明要导入的表, 本例中为“MyCollection”
-h 指定Mongodb的主机
-o 指明要导入的文件名, 本例中为“/home/bms/MyTestDBJSON.datt”
--port 指明mongodb的开放端口
2) 执行导入命令(导入格式为CSV格式)
./mongoimport –d my_mongodb -c user --typecsv --headerline --file /home/bms/MyTestDBCSV.dat
--type 指明要导入的文件格式
--headerline 批明不导入第一行,因为第一行是列名
--file 指明要导入的文件路径
-h 指定Mongodb的主机
4.11 Mongodb数据备份
1) 进入Mongodb的所在目录
cd /home/bms/mongodb-3.0.5/bin
2)执行导出备份命令(导出格式为JSON格式)
./mongodump –h 192.168.100.103 --port 10111–d MyTestDB –o /home/bms/MyTestDB_DUMP
-d 指明使用的库, 本例中为“MyTestDB”
-o 指明要备份的文件目录, 本例中为“/home/bms/MyTestDB_DUMP”
-h 指定Mongodb的主机
--port 指明mongodb的开放端口
4.12 Mongodb数据恢复
1) 进入Mongodb的所在目录
cd /home/bms/mongodb-3.0.5/bin
2)执行恢复命令(导出格式为JSON格式)
/mongorestore –h 192.168.100.103 --port10111 –d MyTestDB /home/bms/MyTestDB_DUMP/*
-d 指明使用的库, 本例中为“MyTestDB”
-h 指定Mongodb的主机
--port 指明mongodb的开放端口
4.13 查看数据库的当前连接数
db.serverStatus().connections
4.14 查看数据库当前的运作状态
./mongostat -h 192.168.100.103 --port 10111
4.15 数据库索引的管理
1) 查看数据库中所有索引
db.system.indexes.find()
2)查看指定数据库的指定Collection的索引
db.system.indexes.find({"ns":"MyTestDB.MyCollection"})
2) 查看集群中各个服务器的防火墙是不是已经关闭。
3) 用如下命令进行重新启动:./mongod –f ../conf/mongodb-master.conf --repair
2.2 Slave:192.168.100.104
在/home/bms/mongodb-3.0.5目录下执行以下命令
./mongod –f ../conf/mongodb-slave.conf
注意:如果没有启动成功,应该从以下方面进行排查
4) 看下整个集群的网络环境是否已经畅通
5) 查看集群中各个服务器的防火墙是不是已经关闭。
3)用如下命令进行重新启动:./mongod –f ../conf/mongodb-slave.conf --repair
2.3 Slave:192.168.100.105
在/home/bms/mongodb-3.0.5目录下执行以下命令
./mongod –f ../conf/mongodb-slave.conf
注意:如果没有启动成功,应该从以下方面进行排查
6) 看下整个集群的网络环境是否已经畅通
7) 查看集群中各个服务器的防火墙是不是已经关闭。
3)用如下命令进行重新启动:./mongod –f ../conf/mongodb-slave.conf --repair
2.4 Slave:192.168.100.106
在/home/bms/mongodb-3.0.5目录下执行以下命令
./mongod –f ../conf/mongodb-arbiter.conf
注意:如果没有启动成功,应该从以下方面进行排查
8) 看下整个集群的网络环境是否已经畅通
9) 查看集群中各个服务器的防火墙是不是已经关闭。
3)用如下命令进行重新启动:./mongod –f ../conf/mongodb-arbiter.conf --repair
3. 集群如何进入命令行
3.1 Master:192.168.100.103
在/home/bms/mongodb-3.0.5目录下执行以下命令
./mongo 192.168.100.103:10111
3.2 Slave:192.168.100.104
在/home/bms/mongodb-3.0.5目录下执行以下命令
./mongo 192.168.100.104:10111
3.3 Slave:192.168.100.105
在/home/bms/mongodb-3.0.5目录下执行以下命令
./mongo 192.168.100.105:10111
3.4 Slave:192.168.100.106
在/home/bms/mongodb-3.0.5目录下执行以下命令
./mongo 192.168.100.105:20111
4. 集群常见命令
4.1 查看当前Mongodb中所有的数据库
show dbs
4.2 切换到指定的数据库
use mydb(数据库名字)
注意:如果当前集群中没有mydb数据库,那么use mydb命令会自动创建mydb数据库,但是mydb在没有自己的Collection之前,用show dbs 命令无法看见mydb数据库。
4.3 查看指定数据库下的所有Collection
1)切换到指定的数据库
use mydb
2)查看指定数据库下所有的collection
show collections
4.4 创建Collection
1)切换到指定的数据库
use mydb
2)查看指定数据库下所有的collection
db.createCollection(‘MyCollection’); MyCollection’是要创建的Collection的名字
4.5 向Collection中插入数据
1)切换到指定的数据库
use mydb
2)向指定collection中插入一条记录
db.MyCollection.insert({username:’xuguokun’}
4.6 删除Collection中的数据
1)切换到指定的数据库
use mydb
2)将指定collection中指定的记录删除
db.MyCollection.remove({username:’xuguokun’})
4.7 从物理上删除Collection
1)切换到指定的数据库
use mydb
2)从物理上删除指定的collection
db.MyCollection.drop();
4.8 从物理上删除Collection
1)切换到指定的数据库
use mydb
2)从物理上删除指定的collection
4.9 Mongodb导出数据
1) 进入Mongodb的所在目录
cd /home/bms/mongodb-3.0.5/bin
2)执行导出命令(导出格式为JSON格式)
./mongoexport –h 192.168.100.103 –port 10111 –d MyTestDB –cMyCollection –o /home/bms/MyTestDB.dat
-d 指明使用的库, 本例中为“MyTestDB”
-c 指明要导出的表, 本例中为“MyCollection”
-o 指明要导出的文件名, 本例中为“/home/bms/MyTestDBJSON.datt”
--port 指明mongodb的开放端口
-h 指定Mongodb的主机
3) 执行导出命令(导出格式为CSV格式)
./mongoexport -d MyTestDB -c MyCollection --csv –f _id,username,age -o /home/bms/MyTestDBCSV.dat
--csv 指要要导出为 csv 格式
-h 指定Mongodb的主机
-f 指明需要导出哪些例(该参数必须指定)
4.10 Mongodb导入数据
1) 进入Mongodb的所在目录
cd /home/bms/mongodb-3.0.5/bin
2)执行导出命令(导出格式为JSON格式)
./mongoimport –h 192.168.100.103 –port 10111 –d MyTestDB –cMyCollection –o /home/bms/MyTestDBJSON.dat
-d 指明使用的库, 本例中为“MyTestDB”
-c 指明要导入的表, 本例中为“MyCollection”
-h 指定Mongodb的主机
-o 指明要导入的文件名, 本例中为“/home/bms/MyTestDBJSON.datt”
--port 指明mongodb的开放端口
2) 执行导入命令(导入格式为CSV格式)
./mongoimport –d my_mongodb -c user --typecsv --headerline --file /home/bms/MyTestDBCSV.dat
--type 指明要导入的文件格式
--headerline 批明不导入第一行,因为第一行是列名
--file 指明要导入的文件路径
-h 指定Mongodb的主机
4.11 Mongodb数据备份
1) 进入Mongodb的所在目录
cd /home/bms/mongodb-3.0.5/bin
2)执行导出备份命令(导出格式为JSON格式)
./mongodump –h 192.168.100.103 --port 10111–d MyTestDB –o /home/bms/MyTestDB_DUMP
-d 指明使用的库, 本例中为“MyTestDB”
-o 指明要备份的文件目录, 本例中为“/home/bms/MyTestDB_DUMP”
-h 指定Mongodb的主机
--port 指明mongodb的开放端口
4.12 Mongodb数据恢复
1) 进入Mongodb的所在目录
cd /home/bms/mongodb-3.0.5/bin
2)执行恢复命令(导出格式为JSON格式)
/mongorestore –h 192.168.100.103 --port10111 –d MyTestDB /home/bms/MyTestDB_DUMP/*
-d 指明使用的库, 本例中为“MyTestDB”
-h 指定Mongodb的主机
--port 指明mongodb的开放端口
4.13 查看数据库的当前连接数
db.serverStatus().connections
4.14 查看数据库当前的运作状态
./mongostat -h 192.168.100.103 --port 10111
4.15 数据库索引的管理
1) 查看数据库中所有索引
db.system.indexes.find()
2)查看指定数据库的指定Collection的索引
db.system.indexes.find({"ns":"MyTestDB.MyCollection"})