MongoDB仅提供64位LTS(长期支持)Ubuntu版本的软件包。
1、导入包管理系统使用的公钥
//Ubuntu软件包管理工具(即dpkg和apt)通过要求分销商使用GPG密钥对软件包进行签名来确保软件包的一致性和真实性。用以下命令导入MongoDB公共GPG密钥:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
2、为MongoDB创建一个列表文件
//使用适合的Ubuntu版本的命令创建/etc/apt/sources.list.d/mongodb-org-3.4.list列表文件:
Ubuntu 12.04
echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
Ubuntu 14.04
echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
Ubuntu 16.04
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
3、更新本地依赖包索引
sudo apt-get update
4、安装mongodb
sudo apt-get install -y mongodb-org
5、配置
大多数类Unix操作系统限制会话可能使用的系统资源。这些限制可能会对MongoDB操作产生负面影响。有关详细信息,请参阅UNIX ulimit设置。
MongoDB实例默认将其数据文件存储在/var/lib/mongodb及其日志文件/var/log/mongodb中,并使用mongodb用户帐户运行。您可以在/etc/mongod.conf中指定备用日志和数据文件目录。有关其他信息,请参阅systemLog.path和storage.dbPath。
如果更改运行MongoDB进程的用户,则必须修改/var/lib/mongodb和/var/log/mongodb目录的访问控制权限,以使此用户能够访问这些目录。
//mongo.conf
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
#processManagement:
#security:
#auth=ture
security:
authorization: enabled
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
6、启动
sudo service mongod start
#检查MongoDB服务器系统进程
ps -aux|grep mongo
#通过启动命令检查MongoDB服务器状态
netstat -nlt|grep 27017
# 通过启动命令检查MongoDB服务器状态
sudo /etc/init.d/mongodb status
# 通过系统服务检查MongoDB服务器状态
sudo service mongodb status
7、启动mongod客户端
mongod --port 27017
//可以手动定义数据存储路径--dbpath /data/db1
//--host
9、设置用户密码
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
//然后,在配置文开启验证auth,加入:
#auth=ture
security:
authorization: enabled
或者敲入命令
mongod --auth --port 27017
//连接
mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"
或者
mongo --port 27017直接连接,但是使用命令会要求验证
use admin
db.auth("myUserAdmin", "abc123" )
//创建测试用户
use test
db.createUser(
{
user: "myTester",
pwd: "xyz123",
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "reporting" } ]
}
)
mongo --port 27017 -u "myTester" -p "xyz123" --authenticationDatabase "test"
// 查看一下所有的用户
db.system.users.find();
db.system.users.remove({user:"java1"});
8、卸载
sudo apt-get purge mongodb-org*
//sudo apt-get purge mongodb mongodb-clients mongodb-server mongodb-dev
//sudo apt-get purge mongodb-10gen
//sudo apt-get autoremove
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
附:
//php安装mongodb扩展
sudo pecl install mongodb
//在php.ini添加
extension=mongodb.so
//若没有pecl,需要安装phpize for PHP7
sudo apt-get install php7.0-dev