zoukankan      html  css  js  c++  java
  • Linux安装mongodb

    1.连接阿里云服务器

    连接阿里云服务器较为简单,这里不再赘述!

    2.下载mongodb

    curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.9.tgz

    3.解压下载mongodb文件

    tar zxvf mongodb-linux-x86_64-3.2.9.tgz

    4.将解压过后的包移动到指定目录

    mv mongodb-linux-x86_64-3.2.9/ /usr/local/mongodb

    5.创建数据文件夹和日志文件等

    mkdir -p  /usr/local/mongodb/data
    touch /usr/local/mongodb/logs
    touch /usr/local/mongodb/mongodb.conf
    

    6.启动

    (1):第一种启动方式:

    ##进入mongo的bin目录下:
    cd /usr/local/mongodb/bin
    ##通过参数无权限启动(通过mongodb客户端工具可直接访问)--权限不足的话加上sudo
    ./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend  --port=27017 --fork 
    ##通过参数有权限启动--权限不足的话加上sudo
    ./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --auth --port=27017 --fork
    ###mongodb非法关闭的时候若出现 about to fork child process, waiting until server is ready for connections 那么需要执行:
    rm /data/mongodb/mongo.lock 命令    ###权限不足的话加上sudo
    ###再执行:
    ./mongod  --repair (命令修复)  ###权限不足的话加上sudo
    

    (2):第二种启动方式:

    ###通过配置文件启动 首先进行配置:
    vim /usr/local/mongodb/mongodb.conf   ###权限不足的话加上sudo
    ###在配置中加入如下代码:
    dbpath=/usr/local/mongodb/data
    logpath=/usr/local/mongodb/logs
    logappend = true 
    port = 27017 
    fork = true 
    auth = true
    ###加入后保存退出:
    :wq
    ###进入mongo的bin目录下:
    cd /usr/local/mongodb/bin
    ###再执行:
    ./mongod --config /usr/local/mongodb/mongodb.conf
    
    ###如果执行以上命令出现权限问题则修改权限:
    sudo chmod 777 mongodb.conf
    
    

    7.启动起来之后我们ps看一下有没有当前进程,如果有的话那么就进入到bin目录下直接./mongo进入数据库:

    ps aux | grep mongod

    进入之后因为没有账户信息,所以需要我们创建一个MongoDB用户,创建命令如下:

    # 先进入到管理员下
    use admin
    
    # 创建root用户
    db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})
    
    # 验证用户
    db.auth("root","123456")
    

    8.停止mongodb

    ./mongod -shutdown -dbpath=/usr/local/mongodb/data

    9.开机启动的配置

    ##加入开机启动
    vim /etc/rc.local
    ##在最下面加入
    /usr/local/mongodb/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/logs --logappend --auth --port=27017 --fork
    ##或者创建配置文件(编辑mongodb.conf)
    dbpath=/usr/local/mongodb/data
    port=27017
    auth=true
    logpath=/usr/local/mongodb/logs
    logappend=true
    fork=true
    ##在/lib/systemd/system/目录下新建mongodb.service文件(mongodb.service)
    [Unit]
    Description=mongodb
    After=network.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=forking
    ExecStart=/usr/local/mongodb/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/usr/local/mongodb/mongodb/bin/mongod  --shutdown --config /usr/local/mongodb/mongodb.conf
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    
    ##设置权限    
    chmod 754 mongodb.service  
    ##开机启动   
    systemctl enable mongodb.service 
    ##启动服务    
    systemctl start mongodb.service    
    ##关闭服务    
    systemctl stop mongodb.service 
    ##加入环境变量 
    vim /etc/profile
    #在最后加入
    export PATH="/usr/local/mongodb/mongodb/bin:$PATH"
    #保存后执行
    source /etc/profile
    ##mongodb导出导入
    导出:mongodump -h 127.0.0.1 --port 27017 -u username -p password -d dbName -o D:dbName
    导入:mongorestore -h 127.0.0.1 --port 27017 -u username -p password -d dbName --drop D:dbName 
    ##windows下添加mongo启动到windows服务
    mongod.exe --auth --config D:mongodbdatamongo.conf --install --serviceName "MongoDB" --journal
    ##如果忘记超级用户密码,可以先把配置文件的 auth=true 注释,然后重启mongo,之后进入终端用下面命令修改密码
    db.changeUserPassword("root","root")
    
    

    10.mongodb错误的总结

    (1).child process failed, exited with error number 1

    (2).child process failed, exited with error number 48

    (3).child process failed, exited with error number 100

    古今成大事者,不唯有超世之才,必有坚韧不拔之志!
  • 相关阅读:
    cocos2d-x3.x Vector
    CC_CALLBACK之间的区别
    android平台菜单返回键监听
    更方便的函数回调——Lambda
    MySQL 多实例启动和关闭脚本
    ERROR 23 (HY000) at line 29963: Out of resources when opening file
    [ERROR] Failed to open log
    ERROR 1005 (HY000): Can't create table'matrix.system_log' (errno: 150)
    show engine innodb statusG
    【转载】mysql 四种隔离级别分析
  • 原文地址:https://www.cnblogs.com/songwp/p/15223192.html
Copyright © 2011-2022 走看看