麒麟linux安装mongoDB

最近搞国产化,踩了不少坑,记录一下,适合没接触过linux或者麒麟的人看看,保姆级教程

首先千万别被网上的介绍迷惑,还得是实践求证,之前查资料麒麟装mongo要么是从软件库装,要么是编译源码,然后开始尝试yum 安装,安装成功后却总是找不到,也起不来,源码编译到最后一步gcc编译不过去了 - -!   。最后尝试了下直接下载安装包去安装,好在成功了。

1.安装依赖环境

  执行下列命令,安装依赖环境

sudo yum -y install unzip

sudo yum -y install libcurl-devel

sudo yum -y install openssl

sudo yum -y install openssl-devel

sudo yum -y install libxml2-devel

sudo yum -y install libxml2

sudo yum -y install glibc-static

sudo yum -y install libstdc++-static

sudo yum -y install libffi-devel

sudo yum -y install wget

一顿装就完事儿了

2.创建安装目录需要的各种文件夹

执行命令:

cd /usr/local // 进入安装目录

mkdir MongoDB // 创建MongoDB文件夹

cd MongoDB // 进入创建的MongoDB文件夹

mkdir source // 在MongoDB文件夹下创建source文件夹用于保存安装包

mkdir data // 在MongoDB文件夹下创建data文件夹用于后续数据库信息保存

mkdir log // 在MongoDB文件夹下创建log文件夹用于保存数据库日志

一顿建就完事儿了,如果这些命令有报错的且你解决不了的,直接用FTP,在上面建文件夹也行

3.下载mongo安装包

找一个链接,下载mongo安装包,此处我用的是:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz

通过FTP工具上传至把这个安装包上传到上一步创建的 MongoDB/source 文件夹下

然后解压:

cd /usr/local/MongoDB/source

tar -zxvf 安装包名称 -C /usr/local/MongoDB

cd /usr/local/MongoDB

mv 解压文件夹名称 mongodbServer  // 将解压后的文件夹名称重命名为 mongodbServer

4.配置环境变量

将 mongod 命令路径添加到系统命令中,这样就可以在任何路径都可以执行 mongod 命令。
在 /etc/profile 文件中添加以下配置:

export MONGODB_HOME=/usr/local/MongoDB/mongodbServer

export PATH=$PATH:$MONGODB_HOME/bin

MONGODB_HOME 的路径就是我们之前解压安装包后保存服务的路径

执行命令,使系统环境变量生效:

source /etc/profile

5.配置 MongoDB 启动文件

如果你折腾不懂这些linux命令,你可以直接去FTP上对应的目录新建这个文件,然后编辑文本就行,以下是命令操作的方式:

在 mongoDB 服务的 bin 文件夹下创建 mongod.conf 文件

cd /usr/local/MongoDB/mongodbServer/bin

vim mongod.conf

按 i 键进入编辑模式,写入以下配置:

storage:

    dbPath: "/usr/local/MongoDB/data"

systemLog:

    destination: file

    path: "/usr/local/MongoDB/log/mongod.log"

    logAppend: true

net:

    port: 27017

    bindIpAll: true

processManagement:

    fork: true

按 esc 键退出编辑模式,输入 :wq 保存关闭文件。

6.启动服务

在任意路径下执行:

mongod --config /usr/local/MongoDB/mongodbServer/bin/mongod.conf

如果你是天选之子,成功执行了,那恭喜你可以提早下班了,跳过这里往下看就行,我在这里遇到了报错,如下

 

很奇怪,明明显示这个环境已经安装,但是会报错,如果你也遇到了类似的问题,首先查一下

./mongod还需要哪些依赖:

命令:

ldd /usr/local/mongodb/bin/mongod

执行完之后如下图所示,确实是缺少环境

 通过yum命令装,还是装完还是not found,真滴是无语,推荐直接下载对应的rpm包,这是我找的资源,并不一定是你需要的,我缺的是compat-openssl10,命令如下:

Wget http://mirror.centos.org/centos/8/AppStream/x86_64/os/Packages/compat-openssl10-1.0.2o-3.el8.x86_64.rpm

下载完了安装:

rpm -i compat-openssl10-1.0.2o-3.el8.x86_64.rpm

再次查看检查是否安装成功,如果没有not found了之后,尝试再次启动服务,出现下面这样的,就证明好了

7.MongoDB初步配置

任意路径下 执行:

mongo

进入mongo shell命令行界面,创建管理用户:

use admin		// 进入 admin 数据库
db.createUser({ user: 'name', pwd: 'password', roles: [{ role: 'dbOwner', db: 'test' }] })

// 为名为 test 的数据库添加数据库管理员,账号为 name,密码为 password, 角色权限为 dbOwner
常用 mongoDB 角色

你可以根据需求选择权限

数据库用户角色: read、 readWrite

数据库管理角色:dbAdmin、dbOwner、userAdmin

集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager

备份恢复角色:backup、restore

所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase

超级用户角色:root

内部角色: __system

完事儿了如下图所示

管理员创建成功

8.设置 MongoDB 服务为系统服务

在 /etc/init.d 文件夹下创建 mongod 文件:

vim /etc/init.d/mongod

写入如下配置(相关路径配置就是我们上面的配置路径)

#!/bin/bash

start() {  
/usr/local/MongoDB/mongodbServer/bin/mongod  --config /usr/local/MongoDB/mongodbServer/bin/mongod.conf 
}  
  
stop() {  
/usr/local/MongoDB/mongodbServer/bin/mongod --config /usr/local/MongoDB/mongodbServer/bin/mongod.conf --shutdown  
}  
case "$1" in  
  start)  
 start  
 ;;  
  
stop)  
 stop  
 ;;  
  
restart)  
 stop  
 start  
 ;;  
  *)  
 echo  
$"Usage: $0 {start|stop|restart}"  
 exit 1  
esac

 (还是上面说的,如果整不明白,直接去FTP对应目录里建,然后粘进去就行)

保存后执行脚本权限命令:

chmod +x /etc/init.d/mongod

systemctl unmask mongod.service

启动 mongoDB 系统服务:

第一次启动前需先杀掉之前手动启动的 mongoDB 服务,
netstat -lnpt 命令查看服务id,kill -9 服务id 即可

杀掉之后  启动:

service mongod start

通过查看端口号看mongodb是否启动了

netstat -lanp | grep "27017"

运行后显示:

tcp 0 0 0.0.0.0:27017 0.0.0.0:* listen 1573/mongod

unix 2 [ acc ] stream listening 5874 1573/mongod /tmp/mongodb-27017.sock

可以看到,已启动成功,现在使用mongo客户端访问一下该数据库。

9.Navicat访问

首先检查mongodb.conf文件

是不是有这个:bindip=127.0.0.1

注释掉,换成bindIpAll: true

此外,外部访问,需要防火墙放行:

firewall-cmd --zone=public --add-port=27017/tcp --permanent

//防火墙firewall-cmd放行27017端口,然后重启防火墙

firewall-cmd --reload

至此,大功告成!

参考资料:./mongod的时候提示找不到共享库文件libcrypto.so.10 - 简书

Linux系统下MongoDB安装教程_DecadentF的博客-CSDN博客_linux安装mongodb

linux mongodb服务启动命令行,Linux下的mongodb服务监视脚本(启动服务)_chinhoyoo的博客-CSDN博客

远程centos7服务器上的mongodb报错'serverSelectionTimeoutMS'_闭关苦炼内功的博客-CSDN博客

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值