Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

saketjain1691's avatar

Cannot run php artisan migrate commands. Error: SQLSTATE[HY000] [1049]

I just created a brand new Laravel project called test_project_2 using laravel new test_project_2. I then changed my .env file to change database configurations. My .env file looks like:

  • DB_CONNECTION=mysql
  • DB_HOST=127.0.0.1
  • DB_PORT=3306
  • DB_DATABASE=testproject2
  • DB_USERNAME=root
  • DB_PASSWORD=xxxxxx

Then I created the database using CREATE DATABASE testproject2 after logging into MySQL. (I can run use testproject2 successfully)

After that I generated the app key using php artisan key:generate without any problems, and then ran php artisan migrate -v. This is the error I get:

Illuminate\Database\QueryException

SQLSTATE[HY000] [1049] Unknown database 'testproject2' (SQL: select * from information_schema.tables where table_schema = testproject2 and table_name = migrations and table_type = 'BASE TABLE')

at vendor/laravel/framework/src/Illuminate/Database/Connection.php:671 667| // If an exception occurs when attempting to run a query, we'll format the error 668| // message to include the bindings with SQL, which will make this exception a 669| // lot more helpful to the developer instead of just the database's errors. 670| catch (Exception $e) { 671| throw new QueryException( 672| $query, $this->prepareBindings($bindings), $e 673| ); 674| } 675|

1 vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70 PDOException::("SQLSTATE[HY000] [1049] Unknown database 'testproject2'")

2 vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70 PDO::__construct("mysql:host=127.0.0.1;port=3306;dbname=testproject2", "root", "saket123", [])

3 vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:46 Illuminate\Database\Connectors\Connector::createPdoConnection("mysql:host=127.0.0.1;port=3306;dbname=testproject2", "root", "saket123", [])

4 vendor/laravel/framework/src/Illuminate/Database/Connectors/MySqlConnector.php:24 Illuminate\Database\Connectors\Connector::createConnection("mysql:host=127.0.0.1;port=3306;dbname=testproject2", [])

5 vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php:182 Illuminate\Database\Connectors\MySqlConnector::connect()

6 vendor/laravel/framework/src/Illuminate/Database/Connection.php:926 Illuminate\Database\Connectors\ConnectionFactory::Illuminate\Database\Connectors{closure}()

7 vendor/laravel/framework/src/Illuminate/Database/Connection.php:926 call_user_func(Object(Closure))

8 vendor/laravel/framework/src/Illuminate/Database/Connection.php:961 Illuminate\Database\Connection::getPdo()

9 vendor/laravel/framework/src/Illuminate/Database/Connection.php:405 Illuminate\Database\Connection::getReadPdo()

10 vendor/laravel/framework/src/Illuminate/Database/Connection.php:331 Illuminate\Database\Connection::getPdoForSelect()

11 vendor/laravel/framework/src/Illuminate/Database/Connection.php:664 Illuminate\Database\Connection::Illuminate\Database{closure}("select * from information_schema.tables where table_schema = ? and table_name = ? and table_type = 'BASE TABLE'")

12 vendor/laravel/framework/src/Illuminate/Database/Connection.php:631 Illuminate\Database\Connection::runQueryCallback("select * from information_schema.tables where table_schema = ? and table_name = ? and table_type = 'BASE TABLE'", Object(Closure))

13 vendor/laravel/framework/src/Illuminate/Database/Connection.php:339 Illuminate\Database\Connection::run("select * from information_schema.tables where table_schema = ? and table_name = ? and table_type = 'BASE TABLE'", Object(Closure))

14 vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlBuilder.php:18 Illuminate\Database\Connection::select("select * from information_schema.tables where table_schema = ? and table_name = ? and table_type = 'BASE TABLE'")

15 vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php:169 Illuminate\Database\Schema\MySqlBuilder::hasTable("migrations")

16 vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:608 Illuminate\Database\Migrations\DatabaseMigrationRepository::repositoryExists()

17 vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php:93 Illuminate\Database\Migrations\Migrator::repositoryExists()

18 vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php:64 Illuminate\Database\Console\Migrations\MigrateCommand::prepareDatabase()

19 vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:541 Illuminate\Database\Console\Migrations\MigrateCommand::Illuminate\Database\Console\Migrations{closure}()

20 vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php:81 Illuminate\Database\Migrations\Migrator::usingConnection(Object(Closure))

21 vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32 Illuminate\Database\Console\Migrations\MigrateCommand::handle()

22 vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32 call_user_func_array([])

23 vendor/laravel/framework/src/Illuminate/Container/Util.php:36 Illuminate\Container\BoundMethod::Illuminate\Container{closure}()

24 vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:90 Illuminate\Container\Util::unwrapIfClosure(Object(Closure))

25 vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:34 Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Object(Closure))

26 vendor/laravel/framework/src/Illuminate/Container/Container.php:592 Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), [])

27 vendor/laravel/framework/src/Illuminate/Console/Command.php:134 Illuminate\Container\Container::call()

28 vendor/symfony/console/Command/Command.php:255 Illuminate\Console\Command::execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))

29 vendor/laravel/framework/src/Illuminate/Console/Command.php:121 Symfony\Component\Console\Command\Command::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))

30 vendor/symfony/console/Application.php:912 Illuminate\Console\Command::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

31 vendor/symfony/console/Application.php:264 Symfony\Component\Console\Application::doRunCommand(Object(Illuminate\Database\Console\Migrations\MigrateCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

32 vendor/symfony/console/Application.php:140 Symfony\Component\Console\Application::doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

33 vendor/laravel/framework/src/Illuminate/Console/Application.php:93 Symfony\Component\Console\Application::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

34 vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:129 Illuminate\Console\Application::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

35 artisan:37 Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

0 likes
6 replies
manelgavalda's avatar

You need to login into your mysql and create your database first:

CREATE DATABASE testproject2;
saketjain1691's avatar

Done that. :( Sorry, forgot to mention that in my question.

Ziroy's avatar

It appears that mysql cannot resolve the database named testproject2. Are you sure that you have created one?

saketjain1691's avatar

Yeah, I've created the database.

+I've created other projects earlier, and they were working fine.

saketjain1691's avatar

Solved.

Changing the DB_HOST variable from 127.0.0.1 to localhost fixed it for me. Weird, but hope this helps someone else.

amdal's avatar

It's an issue with mysql. For Mac user :

1)Check if Mysql is installed or try to type the command "mysql" -> To install mysql : brew install mysql 2) Normally you'll get this error : "ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)"

  1. then use this command to fix the mysql permission : "sudo chown -R _mysql:mysql /usr/local/var/mysql && sudo brew services restart mysql"

  2. go to mysql an create your database : "CREATE DATABASE yourdatabasename;"

  3. Check your .env file and change 127.0.0.1 to localhost

  4. Try to migrate again it should work !!!

Please or to participate in this conversation.