Estoy intentando crear una nueva carpeta en el directorio principal.
Probé todo tipo de ejemplos.
sudo mkdir /data/db
sudo mkdir -p /data/db
Sigo recibiendo
mkdir: / data: sistema de archivos de solo lectura
Estoy intentando crear una nueva carpeta en el directorio principal.
Probé todo tipo de ejemplos.
sudo mkdir /data/db
sudo mkdir -p /data/db
Sigo recibiendo
mkdir: / data: sistema de archivos de solo lectura
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
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 mongodb-community@4.2
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 mongo
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)
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:
$ vim /usr/local/etc/mongod.conf
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
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, 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>.
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
Si está en Mac y enfrenta el problema, el siguiente comando es útil, la
whoami
variable obtendrá el usuario actual
mongod --dbpath=/Users/$(whoami)/data/db
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 formato System/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 😉
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
https://www.apple.com/macos/catalina/features/
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.
# 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
https://discussions.apple.com/thread/250720711
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.
No puede crear un /data/
directorio. Eso está reservado para el sistema de archivos APFS. Consulte el blog de Bombich sobre este tema.
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.2
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 mongodb-community@4.2
## --- 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
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 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