vim /etc/yum.repos.d/local.repo
[mongodb-org]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
yum -y install mongodb-org
vim /etc/mongod.conf
bindIp:0.0.0.0 #监听所有地址,让任何人都可以来访问
systemctl start mongod
systemctl status mongod
登陆mongodb数据库
[root@localhost ~]# mongo
MongoDB shell version v3.6.21
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session {
"id":UUID("c0922c65-13d8-4be0-a7cb-b21064b44d11")}
MongoDB server version:3.6.21...> show dbs #查看数据库,相当于mysql的show databases;
admin 0.000GB
config 0.000GB
local 0.000GB
多实例安装配置
[root@localhost ~]# cd /etc
[root@localhost etc]# cp -p mongod.conf mongod2.conf
[root@localhost etc]# vim mongod2.conf #修改配置文件
10 path:/data/mongodb/mongod2.log #定义日志存放路径
14 dbPath:/data/mongodb/mongo #定义数据存放位置
29 port:27018 #监听端口号
[root@localhost etc]# mkdir -p /data/mongodb #创建数据目录
[root@promote ~]# cd /data/mongodb/[root@promote mongodb]# mkdir mongo #创建日志目录
[root@promote mongodb]# touch mongod2.log #创建日志文件
[root@promote mongodb]# chmod 777 mongod2.log #授权,让程序能够写入日志
[root@promote mongodb]# mongod -f /etc/mongod2.conf #指定配置文件启动服务
about to fork child process, waiting until server is ready for connections.
forked process:21518
child process started successfully, parent exiting
[root@promote mongodb]# mongo --port 27018 #登录进入数据库
MongoDB shell version v3.6.21
connecting to: mongodb://127.0.0.1:27018/?gssapiServiceName=mongodb
Implicit session: session {
"id":UUID("d514e61c-59e3-477e-ac08-be64eb268992")}
MongoDB server version:3.6.21...> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
基本操作
> db.version() #查看版本号
3.6.21> use school #直接进数据库,附带创建数据库
switched to db school
> show dbs #此时查看数据库,并没有school
admin 0.000GB
config 0.000GB
local 0.000GB
> db.createCollection('info') #在库school中创建集合,相当于mysql的表
{
"ok":1}> show dbs #此时发现可以看到school库了。只有当新库中有数据时,才会显示改库
admin 0.000GB
config 0.000GB
local 0.000GB
school 0.000GB
> show collections #查看集合
info
> db.info.find() #查看集合内数据,相当于select * from info,()内可以写查找条件
> db.info.insert({
"id":1,"name":"zhangsan","score":88,"hobby":["game","talk","sport"]})WriteResult({
"nInserted":1})
#插入数据,()内接{
},{
}内加键值对,字符类型用""括起来,多个键值对用','分开。键值对中的值有多个时,用数组[]表示,值与值间用','隔开。值与值可以是不同字符类型
> db.info.find() #再次查看集合内数据
{
"_id":ObjectId("5fb8ca13d6fe33bb8d9a361c"),"id":1,"name":"zhangsan","score":88,"hobby":["game","talk","sport"]}> a=db.info.find() #将命令db.info.find()定义别名为a
{
"_id":