秦无畏 發表於 2022-8-22 14:27:00

CentOS7安装MongoDB

<h1>一、服务器说明</h1><p><font size="3">系统环境版本:CentOS Linux release 7.3.1611 (Core)</font></p><p><font size="3">MongoDB版本:5.0.11</font></p><h1>二、环境配置<br></h1>
<h2>2.1、停止防火墙</h2><div class="cnblogs_code"><pre>systemctl status firewalld               #查看firewall
systemctl stop firewalld                   #停止firewall
systemctl disable firewalld                #禁止firewall开机启动
reboot</pre></div><h2>2.2、关闭selinux</h2><div class="cnblogs_code"><pre>vi /etc/selinux/config
SELINUX=disabled</pre></div><h1>三、下载MongoDB Community Server(社区版)</h1><h2>
3.1、下载地址</h2><p><font size="3">下载地址:https://www.mongodb.com/try/download/community</font></p><h2>3.2、下载步骤</h2><p><img src="https://img2022.cnblogs.com/blog/2203909/202208/2203909-20220822142715271-1515208945.png"></p><h1>四、安装</h1><h2>4.1、上传MongoDB安装包 mongodb-linux-x86_64-rhel70-5.0.11.tgz 到 /usr/local/ 目录下</h2><p><img src="https://img2022.cnblogs.com/blog/2203909/202208/2203909-20220822142716172-943616067.png"></p><h2>4.2、解压安装包</h2><div class="cnblogs_code"><pre># tar -zxvf mongodb-linux-x86_64-rhel70-5.0.11.tgz</pre></div><p><img src="https://img2022.cnblogs.com/blog/2203909/202208/2203909-20220822142717171-1426236651.png"></p><h2>4.3、重命名解压后的包名称</h2><div class="cnblogs_code"><pre># mv mongodb-linux-x86_64-rhel70-5.0.11 mongodb</pre></div><p><img src="https://img2022.cnblogs.com/blog/2203909/202208/2203909-20220822142718138-252975915.png"></p><h2>4.4、创建dbpath和logpath</h2><div class="cnblogs_code"><pre># mkdir -p /usr/local/mongodb/data /usr/local/mongodb/log /usr/local/mongodb/conf</pre></div><p><img src="https://img2022.cnblogs.com/blog/2203909/202208/2203909-20220822142719021-564390038.png"></p><h2>4.5、启动mongodb服务</h2><div class="cnblogs_code"><pre>#进入mongodb目录
#cd /usr/local/mongodb
#启动mongodb服务
#bin/mongod --port=27017 --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/log/mongodb.log --fork</pre></div><p><img src="https://img2022.cnblogs.com/blog/2203909/202208/2203909-20220822142719927-312728888.png"></p><div class="cnblogs_code"><pre>#访问mongodb
#bin/mongo</pre></div><p><img src="https://img2022.cnblogs.com/blog/2203909/202208/2203909-20220822142721037-365264322.png"></p><div class="cnblogs_code"><pre>#查看mongodb数据库
show dbs</pre></div><p><img src="https://img2022.cnblogs.com/blog/2203909/202208/2203909-20220822142721960-80050400.png"></p><h2>4.6、启动mongodb服务的参数说明</h2>
<p><font face="微软雅黑" size="4">--dbpath:指定数据文件存放目录<br>
--logpath:指定日志文件,注意是指定文件不是目录<br>
--logappend:使用追加的方式记录日志<br>
--port:指定端口,默认为27017<br>
--bind_ip:默认只监听localhost网卡<br>
--fork:后台启动<br>
--auth:开启认证模式</font></p><p><font face="微软雅黑" size="4">4.7、关闭mongodb服务</font></p><ul><li><font face="微软雅黑" size="3">方式一:</font></li></ul><div class="cnblogs_code"><pre>#进入mongodb目录
#cd /usr/local/mongodb/bin
#关闭mongodb服务
# ./mongod --port=27017 --dbpath=/usr/local/mongodb/data --shutdown</pre></div><p><img src="https://img2022.cnblogs.com/blog/2203909/202208/2203909-20220822142723049-528499097.png"></p><ul><li><font size="3">方式二、</font></li></ul><div class="cnblogs_code"><pre>use admin            --进入admin库
db.shutdownServer()   --关闭服务
exit               --退出shell即可</pre></div><p><img src="https://img2022.cnblogs.com/blog/2203909/202208/2203909-20220822142724118-1266872462.png"></p><h2>4.8、利用配置文件启动mongodb服务</h2><ul><li><font size="4"><strong>添加环境变量</strong></font></li></ul><div class="cnblogs_code"><pre>#修改/etc/profile,添加环境变量,方便执行MongoDB命令
export MONGODB_HOME=/usr/local/mongodb
PATH=$PATH:$MONGODB_HOME/bin
#重新加载环境变量
source /etc/profile</pre></div><ul><li><font size="4"><strong>创建并编辑mongo.conf文件</strong></font></li></ul><div class="cnblogs_code"><pre># cd /usr/local/mongodb/conf/
# touch mongo.conf
# vim mongo.conf
#增加如下内容(注意:一定要yaml格式)
systemLog:
destination: file
path: /usr/local/mongodb/log/mongod.log # log path
logAppend: true
storage:
dbPath: /usr/local/mongodb/data # data directory
engine: wiredTiger #存储引擎
journal: #是否启用journal日志
    enabled: true
net:
bindIp: 0.0.0.0
port: 27017 # port
processManagement:
fork: true</pre></div><h2>4.9、启动mongodb服务</h2><div class="cnblogs_code"><pre># bin/mongod -f /usr/local/mongodb/conf/mongo.conf</pre></div><p><img src="https://img2022.cnblogs.com/blog/2203909/202208/2203909-20220822142725018-1279965855.png"></p><h2>4.10、访问mongodb</h2><p><img src="https://img2022.cnblogs.com/blog/2203909/202208/2203909-20220822142725948-1369066801.png"></p><h1>五、开放对外端口</h1><div class="cnblogs_code"><pre><font size="3">systemctl status firewalld# 查看防火墙状态
firewall-cmd --zone=public --add-port=27017/tcp --permanent # mongodb默认端口号
firewall-cmd --reload# 重新加载防火墙

firewall-cmd --zone=public --query-port=27017/tcp # 查看端口号是否开放成功,输出yes开放成功,no则失败</font></pre></div><h1>六、设置MongoDB开机自启动</h1><h2>6.1、在/lib/systemd/system/目录下新建mongodb.service文件,内容如下:</h2><div class="cnblogs_code"><pre>

Description=mongodb
After=network.target remote-fs.target nss-lookup.target


Type=forking
ExecStart=/usr/local/mongodb/bin/mongod --config/usr/local/mongodb/conf/mongo.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config/usr/local/mongodb/conf/mongo.conf
PrivateTmp=true


WantedBy=multi-user.target</pre></div><p><font size="4"><strong>注:其中 /usr/local/mongodb 需要设置为自己MongoDB的安装目录下。</strong></font></p><p><font size="4"><strong>*注:conf和service文件中设置路径,注意需要设置为绝对路径。</strong></font></p><h2>6.2、设置权限</h2><div class="cnblogs_code"><pre>chmod 754 mongodb.service</pre></div><h2>6.3、启动关闭服务,设置开机启动</h2><div class="cnblogs_code"><pre>#开机启动
systemctl enable mongodb.service
#启动服务
systemctl start mongodb.service
#关闭服务
systemctl stop mongodb.service</pre></div><h1>七、自定义用户</h1><p><strong><font size="4">创建用户,设置账号,密码,权限</font></strong></p><div class="cnblogs_code"><pre>// admin数据库
&gt; use admin
switched to db admin
&gt; db.createUser({ user:"root", pwd:"123456", roles:["root"] })
Successfully added user: { "user" : "root", "roles" : [ "root" ] }

// 其他数据库
&gt; use test
switched to db test
&gt; db.createUser({ user:"admin", pwd:"123456", roles:["readWrite", "dbAdmin"] })
Successfully added user: { "user" : "root", "roles" : [ "root" ] }</pre></div><p><br></p><h1>八、启用身份验证</h1><h2>8.1、修改mongodb.conf文件,启用身份验证</h2><div class="cnblogs_code"><pre>vi /etc/mongod.conf

security:
authorization: "enabled"   # disable or enabled</pre></div><h2>8.2、重启MongoDB</h2><div class="cnblogs_code"><pre>systemctl restart mongodb</pre></div><h2>8.3、用户认证</h2><div class="cnblogs_code"><pre>&gt; use admin
switched to db admin
&gt; db.auth("root", "123456")
1 // 授权成功</pre></div><div class="cnblogs_code"><pre>// 其他常用命令
db.updateUser(user, writeConcern) # 更新用户
db.dropUser('test') # 删除用户</pre></div><h2>8.4、远程连接</h2><div class="cnblogs_code"><pre>// 终端连接
mongo 10.128.218.14:27017/database -u username -p password

// mongoose方式连接
mongoose.connect('mongodb://username:password@host:port/database?options...', {useNewUrlParser: true});

// 通过客户端连接
</pre></div><p><img src="https://img2022.cnblogs.com/blog/2203909/202208/2203909-20220822152605977-1927507439.png"></p><h1>九、用户权限角色说明</h1><table><thead><tr><th>规则</th><th>说明</th></tr></thead><tbody><tr><td>root</td><td>只在admin数据库中可用。超级账号,超级权限</td></tr><tr><td>Read</td><td>允许用户读取指定数据库</td></tr><tr><td>readWrite</td><td>允许用户读写指定数据库</td></tr><tr><td>dbAdmin</td><td>允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile</td></tr><tr><td>userAdmin</td><td>允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户</td></tr><tr><td>clusterAdmin</td><td>只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限</td></tr><tr><td>readAnyDatabase</td><td>只在admin数据库中可用,赋予用户所有数据库的读权限</td></tr><tr><td>readWriteAnyDatabase</td><td>只在admin数据库中可用,赋予用户所有数据库的读写权限</td></tr><tr><td>userAdminAnyDatabase</td><td>只在admin数据库中可用,赋予用户所有数据库的userAdmin权限</td></tr><tr><td>dbAdminAnyDatabase</td><td>只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限</td></tr></tbody></table><br><br>
来源:https://www.cnblogs.com/haolb123/p/16612702.html
頁: [1]
查看完整版本: CentOS7安装MongoDB