单节点mongo安装

本文详细介绍了MongoDB集群的部署步骤,包括环境搭建、配置、启动、设置开机自启及创建管理员用户等内容。

TODO:mongo集群等
一、目录规划
/export/server/mongodb
二、下载安装
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.3.tgz,并将文件解压或移动/export/server/mongodb
tar -xzf mongodb-linux-x86_64-3.6.3.tgz -C /export/server/
三、配置
1)在 /export/server/mongodb/bin 文件夹添加mongodb.conf文件,内容如下:
数据库存放目录
dbpath=/export/server/mongodb/data/
#日志文件路径
logpath=/export/server/mongodb/log/mongodb.log
#是否追加日志
logappend=true
#端口
port=27017
#是否后台程序启动
fork=true
#是否启动授权认证
#auth=true
bind_ip = hostip
2)配置环境变量
export PATH=$PATH:/export/server/mongodb/bin
source /etc/profile
3)生成数据及日志目录
mkdir /export/server/mongodb/data/
mkdir /export/server/mongodb/log
4)启动mongodb(/export/servers/mongodb/bin)
mongod --config /export/server/mongodb/bin/mongodb.conf
四、开机自启动
(1)、在/lib/systemd/system/目录下新建mongodb.service文件,内容如下
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/export/server/mongodb/bin/mongod --config /export/server/mongodb/bin/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/export/server/mongodb/bin/mongod --shutdown --config /export/server/mongodb/bin/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
(2)、设置权限
chmod 754 /lib/systemd/system/mongodb.service
(3)、启动关闭服务,设置开机启动
启动服务: systemctl start mongodb.service
关闭服务: systemctl stop mongodb.service
开机启动: systemctl enable mongodb.service

五、创建管理员用户
将配置文件中auth项改成false,重启mongo
systemctl restart mongo
进入mongo命令行界面
mongo --host 10.1.208.8
执行下面命令:
use admin;
db.createUser({
user : ‘root’,
pwd : ‘123456’,
roles : [
‘clusterAdmin’,
‘dbAdminAnyDatabase’,
‘userAdminAnyDatabase’,
‘readWriteAnyDatabase’
]
})
重新修改配置文件auth=true
重启mongo服务

创建库
use test01
#说明,user db 如果DB存在则切换到DB库中,如果不存在DB库则创建库
授权
use test01
db.createUser(
{
user: “abc”,
pwd: “123”,
roles: [ { role: “readWrite”, db: “test01”} ]
}
);

是的,可以直接在MongoShell中将一个**单节点MongoDB实例**转换为**单节点复制集**(通常用于开发测试环境)。以下是具体操作步骤: --- ### **步骤1:关闭当前MongoDB服务** ```bash # 如果是Linux系统 sudo systemctl stop mongod # 或直接kill进程(确保数据已安全关闭) ``` --- ### **步骤2:以复制集模式重启MongoDB** 在启动命令或配置文件(如`/etc/mongod.conf`)中添加复制集参数: ```yaml # mongod.conf 示例 replication: replSetName: "rs0" # 复制集名称(自定义,如rs0) ``` 启动命令示例: ```bash mongod --replSet rs0 --dbpath /var/lib/mongodb --port 27017 ``` --- ### **步骤3:在MongoShell中初始化复制集** 1. 连接实例: ```bash mongo --host 127.0.0.1 --port 27017 ``` 2. 执行初始化命令(单节点配置): ```javascript rs.initiate({ _id: "rs0", members: [{ _id: 0, host: "localhost:27017" }] }) ``` - `_id`需与`replSetName`一致。 - `host`填写当前节点地址(如果是远程服务器需用IP或域名)。 3. 检查状态: ```javascript rs.status() // 应返回"members"包含一个节点且状态为"PRIMARY" ``` --- ### **注意事项** 1. **数据安全**:转换前建议备份数据(如`mongodump`)。 2. **生产环境**:生产环境不推荐单节点复制集,至少需要3个节点(1主+1从+1仲裁)保证高可用。 3. **配置持久化**:确保复制集配置写入`mongod.conf`,避免重启后失效。 --- ### **常见问题** - **错误处理**:若报错`"already initialized"`,需先执行`rs.reconfig()`或重启服务。 - **连接URI**:后续连接需使用复制集URI,如: ```uri mongodb://localhost:27017/dbname?replicaSet=rs0 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值