1、MongoDB集群
三台机器搭了主,从,仲裁结构的MongoDB集群
2、开启,关闭服务
#开启
cd /home/data/mongodb
bin/mongod -f /etc/mongodb/primary.conf
#或者
systemctl start mongod
#关闭
bin/mongod --shutdown --dbpath=/home/data/mongodb/primary
#或者
systemctl stop mongod
#查看状态
systemctl status mongod
3、登录
#本机登录
/bin/mongo IP:端口号
//查看集群状态
rs.status()
4、用户
#查看用户
use admin
show users
#改密码
db.changeUserPassword('admin','admin010')
#新建用户
user 你的数据库
db.createUser({
user: "",
pwd:"",
roles:[{role:"readWrite",db:""}]
})
#给一个用户某个数据库的最高权限
db.createUser(
{
user:"XXX",
pwd:"XXX",
roles:[{role:"dbOwner",db:"数据库名"},{role: "userAdmin", db: "数据库名"},{role: "dbAdmin", db: "数据库名"}]
}
)
#删除用户
use admin
db.dropUser('user001')
5、授权
默认mongodb是不用账号
改配置文件
auth=true
key-file=你的秘钥文件
秘钥文件的生成用的openssl
6、连接
mongo IP:27017/admin -uadmin -padminpassword
/admin指连的数据库,不加连不上
7、建库
mongodb 的库是隐式创建,你可以use一个不存在的库
然后在该库下创建collection,即可创建库
use 数据库名;
8、建表
show tables/collections 查看当前库下的collections
use 数据库名;
db.createCollection('collectionName'); //创建collection
db.collectionName.insert(document);
删除表
use 数据库名;
show collections;
db.collectionName.drop();
show collections;
9、导出数据库
命令行输入 mongodump
mongodump --host 192.168.100.XX --port 27016 -u admin --authenticationDatabase admin --db test -o /backup
注意,这里不要写 -p也不要直接在命令号里写密码,它会显示password让你输入,如果放到命令行一直报错,其实用户名密码什么的都没有错
server returned error on SASL authentication step: Authentication failed
mongodump --help 查看帮助命令
-h,–host :代表远程连接的数据库地址,默认连接本地Mongo数据库;
–port:代表远程连接的数据库的端口,默认连接的远程端口27017;
-u,–username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号;
-p,–password:代表连接数据库的账号对应的密码;
-d,–db:代表连接的数据库;
-c,–collection:代表连接数据库中的集合;
-o, --out:代表导出的文件输出目录;
–dir = <目录名称>输入目录
–drop导入前删除数据库中集合;
–gzip,解压Gzip压缩存档还原;
–oplog,重放oplog以基于时间点还原;
–oplogFile = <文件名>指定重播oplog的oplog文件
–authenticationDatabase,指定用户鉴定库
10、导入数据库
mongorestore --host 192.168.100.XX --port 27016 -u admin --authenticationDatabase admin --db test1 /backup/test
导入的数据库是test1