一 . 在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.
- 切换到root用户下
su root
- 编辑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