Rutul Thakkar
Creé un nuevo proyecto de laravel en laravel 8. Configuré la instalación de Sail correctamente, todo funciona bien para la conexión de la base de datos en local, pero cuando intento conectar mi base de datos usando sail, me da un error.
SQLSTATE[HY000] [2002] Conexión rechazada (SQL: seleccione * de information_schema.tables donde table_schema = laravel8 y table_name = migraciones y table_type=”BASE TABLE”)
Ya he borrado mis archivos de configuración y caché.
willpercey-gb
Estaba investigando el mismo problema y encontré esto.
El código muestra un comando artesanal agregado por laravel sail: sail:install
que sobrescribe las variables de host de su archivo .env con nombres de servicio.
Cambié DB_HOST
de 127.0.0.1
a mysql
y se arregló
-
Hola, estoy enfrentando el mismo problema. DB_HOST ya es mysql. Puedo iniciar sesión en la base de datos y ver que está vacío. Cuando intento ejecutar “migrar artesanal de vela”, aparece el mismo mensaje de error. ¿Alguna idea de que podría ser?
– Factura
10/01/2021 a las 21:45
-
Esto funciona, pero tengo mucha curiosidad por saber el significado de “mysql”: ¿es una palabra clave especial utilizada por Laravel al acceder a dbhost, o se basa en el nombre de la imagen acoplable de mysql? EDITAR: en realidad, podría estar invocando mysql directamente desde la línea de comando?
– Chris
9 de febrero de 2021 a las 12:54
-
Buena respuesta, ese fue exactamente mi caso.
– Hasnat Safder
23 de febrero de 2021 a las 9:55
-
Genial eso funcionó. tuve que
sail down -v
elimine el volumen mysql almacenado con la configuración incorrecta ysail up -d
para reconstruir. Después de eso funcionó.– Alexander Taubenkorb
20 de julio de 2021 a las 13:06
-
Estoy usando mariadb, así que necesitaba agregar
DB_HOST=mariadb
en mi archivo .env ycontainer_name: mariadb
en docker-compose.yml .– Guau
21 oct 2021 a las 15:47
En cmd solo ejecuta este comando
docker network inspect bridge
Obtendrá una respuesta como (similar) a esta:
[
{
"Name": "bridge",
"Id": "695c284c7b184839edf97d48161922dfe6c4827d0db917c3278f5634af7e00e2",
"Created": "2022-02-22T22:17:30.8583513Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
.....
}
]
Copiar “Gateway
“dirección IP y reemplazar con DB_HOST
valor en .env
archivo. Funcionará
-
Gracias. Recibo otro error, pero parece ser debido a mi versión de PHP (stackoverflow.com/a/50027581/7242535)
– nelson6e65
7 sep 2022 a las 22:37
-
Muchas gracias @softiso! También podríamos saber por qué el
mysql
el valor deja de funcionar?– Marlo
20 de septiembre de 2022 a las 9:51
si desea ejecutar mysql en un puerto diferente, por ejemplo, 3307 como se muestra a continuación
ports:
- 3307:3306
debe agregar la variable de entorno FORWARD_DB_PORT al archivo .env como este
DB_PORT=3306 // this is for container port
FORWARD_DB_PORT=3307 // this is for local port
-
Esto es exactamente lo que necesitaba ya que moví el puerto docker mysql. Gracias
– Adrián Cornish
7 dic 2022 a las 16:08
Cambiando DB_USERNAME de navegar a raíz trabajó para mi. Supongo que navegar no tenía los privilegios requeridos.
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=database
DB_USERNAME=root # changed from sail
DB_PASSWORD=password
Tuve este mismo problema después de crear un segundo proyecto de vela en mi ventana acoplable. No estaba (todavía no está) aceptando el nombre de usuario o la contraseña de vela, pero pude ingresar con la raíz, lo que me dio el error que diste anteriormente. Fui a la aplicación Desktop Docker, hice clic en el contenedor en ejecución, encontré la parte de mysql y ejecuté la CLI, escribí mysql
y luego ejecutó la consulta CREATE DATABASE yourdatabasename;
la migración funcionó perfectamente bien.
eOssa
Tal vez debería hacer coincidir las variables de entorno de .env.testing, ya que, como dice willpercey-gb, el sail:install
El comando actualiza las variables de entorno de .env, pero no de .env.testing.
Rafael Amponsa
En primer lugar, detenga todos los servicios que usen brew, especialmente MySQL
brew services stop MySQL
en su archivo docker-yaml:
laravel.test
ports:
- '70:80'
mysql:
ports:
- '3456:3306'
Ahora ejecute su comando de migración de artesanos de vela.
Esto debería solucionar tu problema.
-
No necesita detener el servicio mysql si ha cambiado el puerto de host. En su caso, el puerto host es 3456
– Phillip Mwaniki
27/10/2022 a las 14:35