On this page
将 Standalone 更改为 WiredTiger
从 3.2 版开始,WiredTiger 是 MongoDB 的新默认存储引擎。
本教程概述了将standalone MongoDB 实例的存储引擎更改为WiredTiger的过程。
Considerations
mongodump 和 mongorestore
Note
本教程使用mongodump和mongorestoreUtil 来导出和导入数据。
默认绑定到 localhost
Note
从 MongoDB 3.6 开始,MongoDB 二进制文件mongod和mongos默认绑定到localhost
。从 MongoDB 版本 2.6 到 3.4,默认情况下,只有来自正式 MongoDB RPM(Red Hat,CentOS,Fedora Linux 和衍生产品)和 DEB(Debian,Ubuntu 和衍生产品)软件包的二进制文件会绑定到localhost
。要了解有关此更改的更多信息,请参见Localhost 绑定兼容性更改。
本教程从与它们连接的mongod相同的主机上运行mongodump和mongorestore。如果远程运行,mongodump和mongorestore必须指定 IP 地址或关联的主机名才能连接到mongod。
MongoDB 3.0 或更高版本
您必须使用 MongoDB 3.0 或更高版本才能使用 WiredTiger 存储引擎。如果使用的是 MongoDB 的早期版本,则必须先升级 MongoDB 的版本,然后才能更改存储引擎。要升级您的 MongoDB 版本,请参考手册的相应版本。
XFS 和 WiredTiger
对于 WiredTiger 存储引擎,建议在 Linux 上将 XFS 用于数据承载节点。有关更多信息,请参见内核和文件系统。
Procedure
启动要更改为 WiredTiger 的 mongod。
如果mongod已经在运行,则可以跳过此步骤。
使用 mongodump 导出数据。
mongodump --out <exportDataDestination>
根据需要指定其他选项,例如用户名和密码(如果在启用授权的情况下运行)。有关可用选项,请参见mongodump。
为使用 WiredTiger 运行的新 mongod 创建数据目录。
为将与 WiredTiger 存储引擎一起运行的新mongod实例创建数据目录。 mongod
必须对此目录具有读写权限。
带有 WiredTiger 的mongod
不会以使用其他存储引擎创建的数据文件开头。
使用 WiredTiger 启动 mongod。
开始mongod,将wiredTiger
指定为--storageEngine,并将新创建的 WiredTiger 数据目录指定为--dbpath。根据需要指定其他选项,例如--bind_ip。
Warning
绑定到非 localhost(例如可公开访问)的 IP 地址之前,请确保已保护群集免受未经授权的访问。有关安全建议的完整列表,请参见Security Checklist。至少考虑enabling authentication和加强网络基础设施。
mongod --storageEngine wiredTiger --dbpath <newWiredTigerDBPath> --bind_ip localhost,<ipaddresses>
您也可以在configuration file中指定选项。要指定存储引擎,请使用storage.engine设置。
使用 mongorestore 上传导出的数据。
mongorestore <exportDataDestination>
根据需要指定其他选项。有关可用选项,请参见mongorestore。