安装mongodb, 并远程连接云服务器,以及报错:xxx is not in the sudoers file.This incident will be reported.

一 . 在Ubuntu 上安装 MongoDB

1.导入包管理系统所使用的公钥

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

2.为MangoDB创建一个列表文件

Ubuntu 14.04

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Ubuntu 16.04

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Ubuntu 18.04

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

3.更新源

sudo apt-get update

4.安装源

sudo apt-get install -y mongodb-org

其中,如果想安装一个特定的版本,必须指定每个组件单独跟版本号,如下例子(可不看):

sudo apt-get install -y mongodb-org=4.0.1 mongodb-org-server=4.0.1 mongodb-org-shell=4.0.1 mongodb-org-mongos=4.0.1 mongodb-org-tools=4.0.1

5.配置启动文件
查看 /lib.systemed/system/mongod.service 文件
注意:请使用有权限的用户打开,如在root下输入命令,不然无权限的用户打开后里面啥都没.

vim /lib.systemed/system/mongod.service

mongod.service文件中配置如下:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

6.启动,重启,关闭 mongodb:

sudo service mongod start
sudo service mongod restart
sudo service mongod stop

7.卸载 mongodb:

sudo service mongod stop
sudo apt-get purge mongodb-org*

8.删除数据库和日志文件

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

9.添加php的mongodb扩展

# pecl install mongodb
# echo "extension=mongodb.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`

二 . 远程连接云服务器

我的阿里云服务器:
CPU: 1核
内存: 2 GB
实例类型: I/O优化
操作系统: Ubuntu 16.04 64位

1.修改mongodb的配置文件 /etc/mongod.conf,使得任何ip都可以访问:
# 启动mongodb,查看端口绑定情况
service mongod start
# 查看网络端口情况
netstat -tunlp

这是我已经配置好的:
这里写图片描述
若你没有配置过 ,会发现mongodb服务绑定中本地ip上: 127.0.0.1:27017,而不是我这样的 0.0.0.0:27017

# 打开mongodb配置文件
vim /etc/mongod.conf

# 修改配置文件:绑定到任何IP上
bindIp: 0.0.0.0
# 关闭认证 (这步我没有做,因为我打的文件中没有这个auth)
auth = false
# 重启mongodb
service mongod stop
service mongod start
# 查看网络端口情况,发现mongodb服务已经绑定在任意ip上了: 0.0.0.0:27017 像我上图一样
netstat -tunlp
2.修改ECS 云服务器安全组规则,对外开放 27017 端口

(1) 安全组的配置:

这里写图片描述

(2) 修改安全组规则:

这里写图片描述

3. 在本地windows端,通过下面两种方式进行连接:

1.使用windows的黑窗口cmd:
这里写图片描述

2.使用 可视化软件MongoBooster (没有安装的可以下载安装一个)
这里写图片描述
这里写图片描述

三 .报错:xxx is not in the sudoers file.This incident will be reported.

  1. 切换到root用户下
su root
  1. 编辑sudoers文件
vim /etc/sudoers

找到 root ALL=(ALL) ALL,在他下面添加zyp ALL=(ALL) ALL (这里的zyp 是我的用户名)
你可以sudoers添加下面四行中任意一条 (最好不要都写)
zyp ALL=(ALL) ALL
%zyp ALL=(ALL) ALL
zyp ALL=(ALL) NOPASSWD: ALL
%zyp ALL=(ALL) NOPASSWD: ALL

第一行:允许用户zyp 执行sudo命令(需要输入密码).
第二行:允许用户组zyp 里面的用户执行sudo命令(需要输入密码).
第三行:允许用户zyp 执行sudo命令,并且在执行的时候不输入密码.
第四行:允许用户组zyp 里面的用户执行sudo命令,并且在执行的时候不输入密码.

我使用的是:%zyp ALL=(ALL) ALL

这样以后,你从root切换到普通用户就可以使用sudo了.

参考:
1. https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/#install-mongodb-community-edition-on-ubuntu
2. https://www.cnblogs.com/xiaochaoyxc/p/6206481.html
3. https://blog.csdn.net/zwq912318834/article/details/80570397

猜你喜欢

转载自blog.csdn.net/qq_31362767/article/details/81605484
今日推荐