¿Hay alguna forma de hacerlo permanente? ¡Tengo que escribirlo cada vez que inicio el servidor MongoDB!
AV Paul
2
@AVPaul Quizás no sea la mejor solución, pero podrías crear un alias que se refiera a tu ruta.
DjangoBlockchain
1
@JeffGoes Supongo que no reemplazó al usuario con el nombre real.
Aman
2
@AlexL También me está funcionando. Pero, ¿tengo que escribir mongod --dbpath = / Users / my_USER_name / data / db cada vez que quiero ejecutar mi dev mongo db? Porque la próxima vez que ejecute mongod, dice / data / db not found
Shoeb Mirza
3
puede hacerlo permanente configurando dbPath en el archivo de configuración mongoDB si está usando mac, está en /usr/local/etc/mongod.conf. luego agregue lo siguiente: "almacenamiento: dbPath: ruta a su directorio db"
Con la nueva actualización de macOS Catalina, la carpeta /data/dbpasa a ser de solo lectura, no puede modificarla. Siga este procedimiento para crear una base de datos en otra carpeta:
Cambiar mongoddirectorio:
sudo mongod --dbpath /System/Volumes/Data/data/db
Dale un alias para usarlo como mongod:
alias mongod="sudo mongod --dbpath /System/Volumes/Data/data/db"
Mueva su antigua carpeta / data / db (si desea hacer una copia de seguridad de su base de datos actual) a una carpeta que no sea raíz y continúe con el siguiente paso
Ejecutar en la Terminal a) brew uninstall mongodb
b) Si es necesario, ejecutar brew uninstall --force mongodb
c) brew tap mongodb/brew
d) brew install mongodb-community
e)brew services start mongodb/brew/mongodb-community
Todo lo que necesita ahora es ejecutar mongo en la Terminal y verá el símbolo de shell mongo>.
Entonces, con macOS Catalina, Apple creó un nuevo volumen por razones de seguridad. Si está en macOS Catalina, deberá crear la /data/dbcarpeta en formato System/Volumes/Data.
macOS Catalina se ejecuta en un volumen de sistema dedicado de solo lectura, lo que significa que está completamente separado de todos los demás datos y ayuda a mejorar la confiabilidad de macOS.
Con macOS Catalina, ya no puede almacenar archivos o datos en el volumen del sistema de solo lectura, ni puede escribir en el directorio "raíz" (/) desde la línea de comandos, como con Terminal.
Entonces, ¿podría resolverse este problema de archivos de solo lectura? Tengo el mismo problema
Zainab Hammami
2
No, debe usar otro nombre para su directorio. Una posible solución podría ser crear el directorio de datos dentro de otro directorio que esté permitido como directorio raíz.
jvarela
1
Hice esto:
mkdir -p usr/local/var/mongodb/data/db
desde la nueva ruta que es "usr / local / var / mongodb".
La versión de Mac Catalina hizo que la carpeta raíz ya no se pueda escribir.
Brew tiene una versión actualizada de mongodb para usar una nueva ruta (que crea él mismo), /usr/local/var/mongodby siguiendo estas instrucciones solucionará el problema:
Creo una esencia con pasos simples para instalar y ejecutar mongodb en catalina
# install homebrew (https://brew.sh/) and run the following commands
sudo chown -R $(whoami) $(brew --prefix)/*
brew tap mongodb/brew
brew install [email protected]
## --- aliases to set in your zshrc file
# open your zshrc file
open ~/.zshrc
# copy and paste shorcuts in the end of the file
alias mongod='brew services run mongodb-community'
alias mongod-start='brew services start mongodb-community' #will start MongoDB automatically when you login into your Macbook
alias mongod-status='brew services list'
alias mongod-stop='brew services stop mongodb-community'
# restart your terminal
# type mongod in your terminal for run service & mongod-stop for finish it
# test your mongodb connection with
mongo
show dbs
Para agregar a lo que David Buck escribió aquí , primero debe crear el directorio. Puedes hacer eso con:
sudo mkdir / Sistema / Volúmenes / Datos / datos / db
Si recibe este error:
"Error al analizar la línea de comando: opción no reconocida '--dbpath / System / Volumes / Data / data / db' intente 'mongod --help' para obtener más información"
después de crear el alias, es solo porque David Buck (mientras hacía un comentario realmente útil) se perdió un espacio en su respuesta.
Para solucionar esto, escriba
unalias mongod
y luego escribe
alias mongod = "sudo mongod --dbpath / System / Volumes / Data / data / db"
No fui yo ... el mérito debería ser para Eugène Beliaev. Acabo de editar su respuesta para formatear ...
David Buck
0
No sé por qué Apple hizo eso ... ¿Así que ahora, no podemos tener ningún directorio de nivel raíz que no sea el de ellos? Esto simplemente no tiene ningún sentido y las personas que crean con privilegios de root esas carpetas saben lo que están haciendo
Respuestas:
Si tiene Mac y ha actualizado a Catalina, la carpeta raíz ya no se puede escribir.
Acabo de cambiar el directorio en otro lugar.
He estado usando este comando por ahora
mongod --dbpath=/Users/user/data/db
fuente
de los documentos oficiales https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/
instalar homebrew y ejecutar los siguientes comandos
sudo chown -R $(whoami) $(brew --prefix)/*
entonces
brew tap mongodb/brew
entonces
brew install [email protected]
y
brew services start mongodb-community
o
mongod --config /usr/local/etc/mongod.conf
entonces
ps aux | grep -v grep | grep mongod
y
mongo
para verificar que puede ejecutar
show dbs
en el shell mongofuente
Con la nueva actualización de macOS Catalina, la carpeta
/data/db
pasa a ser de solo lectura, no puede modificarla. Siga este procedimiento para crear una base de datos en otra carpeta:Cambiar
mongod
directorio:sudo mongod --dbpath /System/Volumes/Data/data/db
Dale un alias para usarlo como
mongod
:alias mongod="sudo mongod --dbpath /System/Volumes/Data/data/db"
Simplemente escriba
mongod
su terminal, debería funcionar.Extra => Si necesita otorgarle derechos de usuario actuales, use esta línea de código:
sudo chown -R $(whoami) /System/Volumes/Data/data/db
(Solo para información ->
$(whoami)
es solo una variable que devuelve su usuario actual)fuente
Para hacer un cambio permanente del camino de mongod
db
carpeta .Siguiendo estos documentos , dicen aproximadamente esto. Si mongod se inicia con servicios de preparación:
$ brew services start mongodb-community@4.2
Utilizará el archivo de configuración en la ruta
/usr/local/etc/mongod.conf
Para solucionar esto, edite el archivo de configuración:
Y cambie el
dbPath
ejemplo a su directorio de inicio de esta manera:systemLog: destination: file path: /usr/local/var/log/mongodb/mongo.log logAppend: true storage: dbPath: /Users/<username>/data/db net: bindIp: 127.0.0.1
Guarde el archivo y reinicie mongod con brew:
$ brew services restart mongodb-community@4.2
fuente
Esto es lo que funcionó para mí mientras estaba en un curso de Udemy: 1. Instala HomeBrew escribiendo esto en tu terminal
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Mueva su antigua carpeta / data / db (si desea hacer una copia de seguridad de su base de datos actual) a una carpeta que no sea raíz y continúe con el siguiente paso
Ejecutar en la Terminal a)
brew uninstall mongodb
b) Si es necesario, ejecutarbrew uninstall --force mongodb
c)brew tap mongodb/brew
d)brew install mongodb-community
e)brew services start mongodb/brew/mongodb-community
Todo lo que necesita ahora es ejecutar mongo en la Terminal y verá el símbolo de shell mongo>.
Por favor, avíseme si esto funciona;) Me tomó casi 2 horas resolverlo, según este artículo: /apple/362883/mongodb-doesnt-work-after-update-to -macos-catalina-10-15
Saludos, Radu
fuente
Si está en Mac y enfrenta el problema, el siguiente comando es útil, la
whoami
variable obtendrá el usuario actualmongod --dbpath=/Users/$(whoami)/data/db
fuente
Entonces, con macOS Catalina, Apple creó un nuevo volumen por razones de seguridad. Si está en macOS Catalina, deberá crear la
/data/db
carpeta en formatoSystem/Volumes/Data
.Siga estos comandos
sudo mkdir -p /System/Volumes/Data/data/db
sudo chown -R
id -un/System/Volumes/Data/data/db
Inicie MongoDB
brew services run mongodb-community
Disfruta 😉
fuente
Rutas predeterminadas para la fórmula mongodb-community
Además de instalar el servidor MongoDB y los archivos binarios de la herramienta, la fórmula mongodb-community crea:
entonces funcionó para mí:
mkdir -p usr/local/var/mongodb/data/db
fuente
¡Ya no puede crear una carpeta en el directorio raíz en Mac Catalina!
https://www.apple.com/macos/catalina/features/
Volumen del sistema dedicado
# macOS Catalina, mkdir path $ sudo mkdir -p /System/Volumes/Data/data/db # give permissions $ sudo chown -R `id -un` /System/Volumes/Data/data/db
# macOS 10.14.x - $ sudo mkdir -p /data/db # macOS 10.15.x + $ sudo mkdir -p /System/Volumes/Data/data/db
refs
https://discussions.apple.com/thread/250720711
https://zellwk.com/blog/install-mongodb/
https://www.youtube.com/watch?v=DX15WbKidXY
fuente
Con macOS Catalina, ya no puede almacenar archivos o datos en el volumen del sistema de solo lectura, ni puede escribir en el directorio "raíz" (/) desde la línea de comandos, como con Terminal.
fuente
No puede crear un
/data/
directorio. Eso está reservado para el sistema de archivos APFS. Consulte el blog de Bombich sobre este tema.fuente
Hice esto:
mkdir -p usr/local/var/mongodb/data/db
desde la nueva ruta que es "usr / local / var / mongodb".
fuente
La versión de Mac Catalina hizo que la carpeta raíz ya no se pueda escribir.
Brew tiene una versión actualizada de mongodb para usar una nueva ruta (que crea él mismo),
/usr/local/var/mongodb
y siguiendo estas instrucciones solucionará el problema:Guía para instalar mongodb-community-edition actualizado
brew install mongodb-community@VERSION
donde la primera VERSIÓN con la corrección es 4.2fuente
Creo una esencia con pasos simples para instalar y ejecutar mongodb en catalina
# install homebrew (https://brew.sh/) and run the following commands sudo chown -R $(whoami) $(brew --prefix)/* brew tap mongodb/brew brew install [email protected] ## --- aliases to set in your zshrc file # open your zshrc file open ~/.zshrc # copy and paste shorcuts in the end of the file alias mongod='brew services run mongodb-community' alias mongod-start='brew services start mongodb-community' #will start MongoDB automatically when you login into your Macbook alias mongod-status='brew services list' alias mongod-stop='brew services stop mongodb-community' # restart your terminal # type mongod in your terminal for run service & mongod-stop for finish it # test your mongodb connection with mongo show dbs
https://gist.github.com/sturmenta/cf19baa91b1d79d8ae2b305fb7e1f799
fuente
Para agregar a lo que David Buck escribió aquí , primero debe crear el directorio. Puedes hacer eso con:
Si recibe este error:
después de crear el alias, es solo porque David Buck (mientras hacía un comentario realmente útil) se perdió un espacio en su respuesta.
Para solucionar esto, escriba
y luego escribe
fuente
No sé por qué Apple hizo eso ... ¿Así que ahora, no podemos tener ningún directorio de nivel raíz que no sea el de ellos? Esto simplemente no tiene ningún sentido y las personas que crean con privilegios de root esas carpetas saben lo que están haciendo
fuente