• 玩 MongoDB 吗?RHEL 7.6 上搭建 Mongo 4.4.0(二进制搭建)


    很温馨的提示

    我给你说,作为搞技术的,这都2020了,你要是到现在还不会 Linux,赶紧,网上有很多教程,或者买书自己多敲多练。

    登主页下资源

    https://www.mongodb.com/
    

    路径: Software - Community Server - 照图选 - Download

    准备RHEL 7.6

    不知道咋安装?翻翻 0级 搭建类,先把 Linux 玩熟练。
    还想玩游戏?玩你个大头鬼哦~整天就知道撸啊撸、就知道吃鸡,来来来,告诉我,水平如何?个人战绩如何?装备花费有超过20万吗?战队排名第几位?打过几次职业联赛?拿过什么奖项?到现在了连 Linux 都还不会,还玩游戏,玩你个鬼啊整天,你要么就打出个名堂来,你要么就滚粗好好学习,不是喜欢打游戏吗?把 C/C++ 好好学学,进入游戏公司踏平他们!一天到晚啥都不会,就知道玩游戏。请问我可以鄙视你吗?

    环境配置

    主机名及IP

    echo "192.168.26.128 henry" >> /etc/hosts
    

    安装依赖包

    不知道咋配置yum?翻翻 1级 搭建类。

    yum install -y cyrus-sasl
    yum install -y cyrus-sasl-plain
    yum install -y cyrus-sasl-gssapi
    yum install -y krb5-libs
    yum install -y lm_sensors-libs
    yum install -y net-snmp-agent-libs
    yum install -y net-snmp
    yum install -y openssl
    yum install -y openssl-devel
    yum install -y rpm-libs
    yum install -y tcp_wrappers-libs
    

    关闭防火墙和SELinux

    systemctl stop firewalld.service 
    systemctl disable firewalld.service
    
    vim /etc/selinux/config
    SELINUX=disabled
    

    修改内核参数

    echo "vm.zone_reclaim_mode=0" >> /etc/sysctl.conf
    sysctl -p
    

    创建用户与目录及相应授权

    mkdir /mongodb/data
    mkdir /mongodb/logs
    mkdir /mongodb/apps
    groupadd -g 12345 mongodb
    useradd -u 12345 -g mongodb mongodb
    id mongodb
    passwd mongodb
    
    chown -R mongodb:mongodb /mongodb/
    chmod -R 775 /mongodb/
    

    资源限制

    vim /etc/security/limits.conf
    # 添加
    mongodb hard nofile 25600
    mongodb soft nofile 25600
    mongodb hard nproc 25600
    mongodb soft nproc 25600
    

    切换 MongoDB 用户

    解压软件

    [root@henry ~]# su - mongodb 
    [mongodb@henry ~]$ cd /mongodb/apps/
    [mongodb@henry apps]$ ls
    mongodb-linux-x86_64-rhel70-4.4.0.tgz
    [mongodb@henry apps]$ tar zxvf mongodb-linux-x86_64-rhel70-4.4.0.tgz
    [mongodb@henry apps]$ ll
    total 69560
    drwxrwxr-x. 3 mongodb mongodb      100 Aug 13 08:11 mongodb-linux-x86_64-rhel70-4.4.0
    -rw-r--r--. 1 mongodb mongodb 71226106 Aug 13 07:40 mongodb-linux-x86_64-rhel70-4.4.0.tgz
    

    创建软连接

    # 你可以直接创建目录进行复制
    [mongodb@henry apps]$ ln -s /mongodb/apps/mongodb-linux-x86_64-rhel70-4.4.0 /mongodb/apps/mongodb
    [mongodb@henry apps]$ ll
    total 69560
    lrwxrwxrwx. 1 mongodb mongodb       47 Aug 13 08:13 mongodb -> /mongodb/apps/mongodb-linux-x86_64-rhel70-4.4.0
    drwxrwxr-x. 3 mongodb mongodb      100 Aug 13 08:11 mongodb-linux-x86_64-rhel70-4.4.0
    -rw-r--r--. 1 mongodb mongodb 71226106 Aug 13 07:40 mongodb-linux-x86_64-rhel70-4.4.0.tgz
    

    为 mongodb 添加配置文件

    [mongodb@henry ~]$ vim /mongodb/apps/mongodb/bin/mongodb.conf
    [mongodb@henry ~]$ cat /mongodb/apps/mongodb/bin/mongodb.conf 
    dbpath=/mongodb/data
    logpath=/mongodb/logs/mongodb.log
    port=27017
    fork=true
    auth=true
    journal=true
    maxConns=500
    logappend=true
    directoryperdb=true
    bind_ip=127.0.0.1,192.168.26.128
    

    为 mongodb 用户添加环境变量

    [mongodb@henry ~]$ vim ~/.bash_profile
    # 参考更改
    PATH=$PATH:$HOME/.local/bin:/mongodb/apps/mongodb/bin:$HOME/bin
    

    启动 MongoDB

    [mongodb@henry ~]$ mongod -f /mongodb/apps/mongodb/bin/mongodb.conf 
    about to fork child process, waiting until server is ready for connections.
    forked process: 71668
    child process started successfully, parent exiting
    

    连接 MongoDB

    # 任意选择
    mogo
    mongo -port 27017
    mongo 192.168.26.128:27017
    mongo 127.0.0.1:27017
    

    创建管理员用户

    > db.createUser({user: "admin",pwd: "mongo123",roles: ["root"]});
    Successfully added user: { "user" : "admin", "roles" : [ "root" ] }
    

    验证管理员用户

    # 有点像oracle要登陆,验证账号和密码一样,不然无法操作
    > use admin
    switched to db admin
    > db.auth("admin","mongo123");
    > show dbs
    admin   0.000GB
    config  0.000GB
    local   0.000GB
    

    创建数据库 HENRY

    > use henry
    switched to db henry
    

    注意:使用 use 切换数据库,如果没有,直接创建;当使用 show dbs 命令查询数据库时,不会立刻显示当前 henry 数据库,必须在里面创建一个集合后才能查看。

    创建集合(表)

    # 使用当前 henry 数据库(db),创建一个集合/表(memeda),插入(insert)一个文档(行记录)
    > db.memeda.insert({"name": "henry"})
    WriteResult({ "nInserted" : 1 })
    
    # 查询集合
    > show collections;
    abc
    ergouzi
    memeda
    > show tables;
    abc
    ergouzi
    memeda
    
    # 查询集合中的文档
    > db.memeda.find();
    { "_id" : ObjectId("5f3531e0ebb4844a9a8cb11f"), "name" : "henry" }
    
    # 或者单独创建集合
    > db.createCollection("emp");
    { "ok" : 1 }
    
    # 查询集合
    > show collections;
    abc
    emp
    ergouzi
    memeda
    > show tables;
    abc
    emp
    ergouzi
    memeda
    
    # 在集合 EMP 中插入一个文档并查询
    > db.emp.insert({"empno":"7788","ename":"scott","deptno":"20"});
    WriteResult({ "nInserted" : 1 })
    > db.emp.find();
    { "_id" : ObjectId("5f353ab1ebb4844a9a8cb121"), "empno" : "7788", "ename" : "scott", "deptno" : "20" }
    

    初次见面,你先感受下。更多操作请键入 help 查看帮助文档或参考官方在线文档。

  • 相关阅读:
    socket编程中最常用的几个数据类型和转换函数
    windows下给QT可执行文件(exe)一个图标
    fseek函数与ftell函数使用例程
    LINUX C例程1:sscanf的用法
    Linux进程控制——exec函数族
    Linux查看文件编码格式及文件编码转换
    oracle易忘函数用法(1)
    Oracle VARRAY的实际应用简介
    oracle 存储过程的基本语法 及注意事项
    何将ext中的FormPanel中,所有组件都居中放置?
  • 原文地址:https://www.cnblogs.com/askscuti/p/13495224.html
Copyright © 2020-2023  润新知