布置MongoDB数据库时,通过以下命令启动进程时出现以下错误提示:
[mongodb@InterFinance04 bin]$ ./mongod --dbpath /home/mongodb/mongodb/replset/data --replSet repset
2016-07-12T16:52:28.888+0800 I CONTROL [initandlisten] MongoDB starting : pid=38806 port=27017 dbpath=/home/mongodb/mongodb/replset/data 64-bit host=InterFinance04
2016-07-12T16:52:28.888+0800 I CONTROL [initandlisten] db version v3.2.7
2016-07-12T16:52:28.888+0800 I CONTROL [initandlisten] git version: 4249c1d2b5999ebbf1fdf3bc0e0e3b3ff5c0aaf2
2016-07-12T16:52:28.888+0800 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
2016-07-12T16:52:28.888+0800 I CONTROL [initandlisten] allocator: tcmalloc
2016-07-12T16:52:28.888+0800 I CONTROL [initandlisten] modules: none
2016-07-12T16:52:28.888+0800 I CONTROL [initandlisten] build environment:
2016-07-12T16:52:28.888+0800 I CONTROL [initandlisten] distmod: rhel62
2016-07-12T16:52:28.888+0800 I CONTROL [initandlisten] distarch: x86_64
2016-07-12T16:52:28.888+0800 I CONTROL [initandlisten] target_arch: x86_64
2016-07-12T16:52:28.888+0800 I CONTROL [initandlisten] options: { replication: { replSet: "repset" }, storage: { dbPath: "/home/mongodb/mongodb/replset/data" } }
2016-07-12T16:52:28.912+0800 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted
2016-07-12T16:52:28.912+0800 I - [initandlisten] Fatal Assertion 28578
2016-07-12T16:52:28.912+0800 I - [initandlisten]
从红色的提示可以看出是因为/tmp/mongodb-27017.sock这个文件没有操作权限。
原因分析:
查看该文件情况如下:
可以看到这个文件的所有者是root用户,因为在准备环境的时候用的是root用户,而当时用root用户启动过一个没成功,后面修改配置文件过后用mongodb用户启动就出现了这个问题。
觖方法:
直接把该文件删除掉用Mongodb用户启动就行了。
可以看到这一次就是mongodb用户创建的文件了