MongoDB安装与基本使用
一、安装
① 把Mongo的安装配置添加的yum中
vi /etc/yum.repos.d/mongodb-org-3.4.repo
把下面配置复制到文件中
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
② 运行安装命令
sudo yum install -y mongodb-org
出现下图则成功安装
③ 设置数据储存路径默认下mongo的储存路径是 /data/db ,如果此时系统中没有这个文件,是不会启动成功的。所以要手动穿件这个文件夹
mkdir -p /data/db
④ 启动Mongo
sudo service mongod start
⑤ 连接本地的Mongo
mongo
此时Mongo的安装已经完成,上面日志中有警告啥的可以通过配置解决,但不影响使用。
二、Mongo的远程连接
方法1: 设置权限认证登陆
-
添加新的用户首先添加个管理员账号(root权限):
use admin
-
创建管理员账户
db.createUser({ user: "spark", pwd: "spark", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
mongodb中的用户是基于身份role的,该管理员账户的 role是 userAdminAnyDatabase。 ‘userAdmin’代表用户管理身份,’AnyDatabase’ 代表可以管理任何数据库。
-
验证用户添加是否成功
db.auth("spark", "spark")
-
修改配置文件
vi /etc/mongod.conf
注释掉:bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
添加:
security:
authorization: enabled
- ③ 重启Mongo 远程连接
service mongod restart
方法2: 直接登陆
- ① 修改配置文件
vi /etc/mongod.conf
bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
将127.0.0.1修改为0.0.0.0
打开ROBO(mongo 可视化工具):
最后点击Save就可以愉快的使用啦
如果想设置开机自启动请运行
chkconfig mongodb on
三、Mongodb基本命令
首先连接mongodb数据库
mongo
database级操作
-
查看服务器上的数据库
show dbs
admin 0.000GB blog 0.000GB config 0.000GB local 0.000GB
-
切换数据库
use test
-
查看当前数据库中的所有集合
show collections
-
创建数据库
use test2
-
(如果数据库不存在,则自动生成,不过必须等插入数据之后show dbs才会显示改数据库)*
db.hello.insert({"name":"testdb"})
这时再执行show dbs就能显示了
-
显示数据库中的所有集合
show collections
hello system.indexes
-
删除数据库
db.dropDatabase()
-
查看当前数据库
db
collection级操作
-
新建collection
db.createCollection("Hello")
{ "ok" : 1 }
show collections
Hello system.indexes
从上面2.4也可以看出,直接向一个不存在的collection中插入数据也能创建一个collection。
db.hello2.insert({"name":"lfqy"})
show collectionsHello hello2 system.indexes
-
删除collection
db.Hello.drop()
true
返回true说明删除成功,false说明没有删除成功。
db.hello.drop()
false
不存在名为hello的collection,因此,删除失败。
-
重命名collection
将hello2集合重命名为HELLOshow collections
hello2 system.indexes
db.hello2.renameCollection("HELLO")
{ "ok" : 1 }
show collections
HELLO system.indexes
-
查看当前数据库中的所有collection
show collections
-
建立索引在HELLO集合上,建立对ID字段的索引,1代表升序。
db.HELLO.ensureIndex({ID:1})
collection操作
有错误的地方欢迎指出.谢谢🙏