Mongodb的相关文档整理(一)

时间:2022-05-28 07:45:13

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"})