I am using Laravel Sail/ Docker for the first time. I have got my site running fine but the issue is that I cannot access the DB via a GUI (Sequel Pro). I have added the default credentials from my env but cannot access. But seem to be able to run php artisan migrate. Does anybody have any tips for how I can debug this?
This is my .env file:
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=my-db
DB_USERNAME=sail
DB_PASSWORD=password
The solution for you might be in the last comment here by Lorenzo Franzone: changing the SequelPro version.
Rather than this though, I dropped the version of MySQL in docker-compose from 8.0 to 5.7 to work with my very old version of SQLYog and: Bingo! It worked.
Simple, you must change DB_HOST=mysql to DB_HOST=127.0.0.1
Have a good day.
Related
I keep this while running php artisan migrate
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known
My Environment
Laravel Framework version 5.1.20 (LTS)
Laravel Installer version 1.2.0
PHP 5.6.14 (cli) (built: Oct 2 2015 08:55:56)
mysql Ver 14.14 Distrib 5.6.24, for osx10.10 (x86_64)
.env file
APP_ENV=local
APP_URL=http://localhost/
APP_DEBUG=true
APP_KEY=****
DB_HOST=http://localhost/
DB_DATABASE=name-local
DB_USERNAME=root
DB_PASSWORD=
UNIX_SOCKET = /tmp/mysql.sock
That data-base name-local is exist in my local database.
Any hints / suggestions will be a huge help for me.
Check your DB_HOST on your .env file
DB_HOST=http://localhost/ --> DB_HOST=localhost
Result:
I can migrate peacefully now.
php artisan migrate
Migration table created successfully.
Migrated: 2014_10_12_000000_create_users_table
Set DB_HOST=localhost and run the following artisan command
php artisan config:clear it will help you, clear cached config
I finally figured out what was causing this error for me. I'm using docker but I wasn't running php artisan migrate from the shell in the container. I was just running it in Terminal after navigating to the laravel project folder.
Go to your docker dashboard and launch the CLI for the laravel container in the image for your project. Then run the migrate command.
You might also get this error if you are using sail, and you run
php artisan migrate
instead of:
sail artisan migrate
I had the same problem while running Laravel from DDEV.
Solution: run "php artisan migrate" within your DDEV container.
user#ddev-project: ddev ssh
user#ddev-project:/var/www/html$ php artisan migrate
That should solve the issue.
Had the same issue on laravel 8.x after a fresh install. Setting DB_HOST=0.0.0.0 fixed it for me.
Remember to run php artisan config:clear afterwards.
if you are using docker first find your docker container with docker ps command and then execute php artisan migrate command form your container with this command
docker exec -it {containerId}
bash
You can change the SESSION_DRIVER to file. Worked for me.
I am using the laradock and Postgres in my laravel project but when I try to run PHP artisan migrate it gives me the error, could not find the driver. below is my .env file
DB_CONNECTION=pgsql
DB_HOST=postgres
DB_PORT=5432
DB_DATABASE=vv
DB_USERNAME=default
DB_PASSWORD=secret
When I run my project it fetches the data, but when I try to migrate it give the error, driver could not find and show me the error on this connection file,
laravel/framework/src/Illuminate/Database/Connection.php:671
Note: when I use MySQL it works fine, but when I use Postgres it gives me this error, and my postgres image on docker is working fine. My pgadmin connects to postgres
I'm using Laravel 7, when I launch from terminal php artisan migrate, I get this error
zsh: illegal hardware instruction php artisan migrate
All other artisan commands works fine like php artisan make:model or php artisan make:migration
System requirements:
PHP 7.4.5 (cli)
Zend Engine v3.4.0
MacBook Pro Catalina 10.15.4
Thank you
Just resolved yet.
I'm using MAMP PRO for the virtual server
The problem was in the db configuration, I added in the .env file
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
The default configuration in the .env file didn't work for me, this configuration will work
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=8889
DB_DATABASE=dbname
DB_USERNAME=root
DB_PASSWORD=root
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
[MacOS 10.14.0]
When I create a new project (Laravel new blog)
Then create a table in MySQL (create database blog)
And then update my .env file with the correct userame, password and database.
After creating a project, I will run php artisan migrate
But my terminal stays empty, I can type in my terminal. But it won't do anything.
My storage/logs folder is empty.
I have 2 default migrate files in my database/migrations folder.
php migrate list works
What can it be?
For me it helped just to restart local database.
After a lot of trial and error, I found out that there was something wrong with my MySQL server. I reinstalled MySQL with brew. The latest version of 8 and the latest version of 5.7.*. Both didn't work, because of the following conflict: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/lib/plugin/caching_sha2_password.so, 2): image not found.
So the whole time, everything in my .env file was correct but my MySQL was broken. I also confirmed that by trying to connect with the app 'Sequel Pro'. And as I thought, it gave me the same conflict.
How I fixed the problem:
Remove all MySQL/MariaDB packages via brew (if you have installed them with brew like me)
Install MySQL Community Server 5.7.* from the official mysql.com website (you can google that file).
Add MySQL to your path export PATH=$PATH:/usr/local/mysql/bin
Go to: System Preferences -> MySQL -> press 'Start MySQL Server'
Change your temporary password with a new one mysqladmin -uroot -p[temporary password] password '[new password]'
Good luck! 👍
EDIT FEBRUARY 26 2019:
I found a problem with changing the random generated password. I was using MySQL Community Server 5.7.25 and the random generated password was: _>9mxWc9a!0.. When I was trying to change the default password with the command above. I was given the following error:
-bash: !0: event not found
If you have the same error as I did or something similar, try the following:
Enter the following command in your terminal: mysqladmin -uroot -p password '[new password]'
When you press enter, it will ask you for a password. Now enter the random generated password that was given to you by the MySql Community Server at installation in a prompt.
It should be working now! 😊
If you're using Docker and getting this error on the host machine, try running the migration in the container cli.
did you connected the laravel project to the database from .env file ?
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=DATABASE_NAME
DB_USERNAME=DATABASE_USERNAME
DB_PASSWORD=DATABASE_PASSWORD
Laravel 5.8 with SQLite.
My problem wasn't with larvel but with DB browser for sqlite. I had to open and close the program for the migrate to finish its process.
I have a basic issue in laravel setup.
I have setup laravel 5.5 using php7.0(cli) and for artisan migrate I have install the mysql server on my system (I have already xampp on my system) so now my Laravel project access the mysql cli (not xampp which I access with phpmyadmin) how can I connect my laravel with xampp database.
currently its direct configure with cli php and mysql-server
Thanks
You have .env file in your project root folder. There you can edit:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=root
DB_PASSWORD=
By default, XAMPP root username is root, there is no password and port is 3306.
Obviously, you have to start MySQL in XAMPP control panel.
Go to .env file in your project root folder, there you can edit:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=testdatagym
DB_USERNAME=root
DB_PASSWORD=