Create, Configure and Connect Laravel 10 with MySQL database with .env file

- Andrés Cruz

En español

Create, Configure and Connect Laravel 10 with MySQL database with .env file

MySQL — это система управления базами данных, которая широко используется для разработки всевозможных приложений. Это реляционная база данных (RDBMS), которая использует язык SQL (язык структурированных запросов) для выполнения запросов и операций с записями. Вы можете установить её на самые распространённые операционные системы, такие как Windows, MacOS и Linux.

База данных — это совокупность данных, организованных на основе файлов. С помощью базы данных можно эффективно получать доступ к данным, управлять ими и обновлять их, обращаясь к ним. Такая организация осуществляется с помощью системы управления базами данных (СУБД), которая позволяет пользователям создавать, читать, обновлять и удалять данные контролируемым образом с помощью SQL-запросов.

Базы данных используются во всех видах приложений, и в веб-приложениях нет разницы. С их помощью мы можем создавать всевозможные коллекции для управления организацией наших данных.

Реляционные базы данных хранят данные в таблицах, состоящих из столбцов и строк. Эти таблицы можно представить в виде электронной таблицы, в которой мы управляем данными с помощью SQL.

В этой статье мы рассмотрим, как подключить проект в Laravel 10 к базе данных, например MySQL. Хотя мы можем подключиться и к другим системам управления базами данных, таким как SQL Server, PostgreSQL и т. д., в этой статье мы будем подключаться к базе данных MySQL или её бесплатной версии MariaDB.

Как создать базу данных в Laragon

Первое, что вам нужно сделать, — это открыть Laragon и создать базу данных в соответствии с шагами, которые мы описали здесь. Мы исходим из того, что у вас уже установлена база данных, а также рекомендуемая, но не обязательная система управления базами данных. В моём случае я использую систему HeidiSQL, предоставляемую Laragon:

Ruta para crear base de datos en HidiSQL

Затем укажите название базы данных, и мы готовы:

HidiSQL dialogo crear base de datos

Таким образом, у нас есть готовая и созданная база данных.

Подключение базы данных в проекте laravel

Теперь нам нужно просто перейти к файлу config/database и найти настройки для нашей базы данных, в нашем случае MySQL:

      'mysql' => [ 
 'driver' => 'mysql', 
 'url' => env('DATABASE_URL'), 
 'host' => env('DB_HOST', '127.0.0.1'), 
 'порт' => env('DB_PORT', '3306'), 
 'база данных' => env('DB_DATABASE', 'forge'), 
 'имя пользователя' => env('DB_USERNAME', 'forge'), 
 'пароль' => env('DB_PASSWORD', "), 
 'unix_socket' => env('DB_SOCKET', "), 
 'charset' => 'utf8mb4', 
 'параметры сортировки' => 'utf8mb4_unicode_ci', 
 'префикс' => ", 
 'prefix_indexes' => true, 
 'strict' => true, 
 'engine' => NULL, 
 'параметры' => extension_loaded('pdo_mysql') ? array_filter([
 PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
 ]) : [],
 ],

Здесь мы можем установить соединение с нашей базой данных. Но если вы посмотрите, то увидите, что в корневом каталоге проекта есть файл .env, который мы можем использовать в среде разработки для настройки. Не стесняйтесь просматривать файл конфигурации базы данных, а также любой другой файл конфигурации в папке. Но в большинстве случаев вы обнаружите, что при каждой настройке конфигурации мы вызываем функцию env, которая, как вы могли догадаться, соответствует файлу, о котором я говорил несколько минут назад.

The env file and function

The env file is the one that we have to use when we are in the development environment, therefore the configurations that we add in it are configurations in this environment.

On the other hand, when we go to the production environment, we must do without the .env file and Laravel automatically uses all the configurations that are inside the config folder.

The env function is simply a helper function provided by Laravel and allows us to search for the configuration established in the .env file given the key or its key as a parameter.

Connection to the database in Laravel in development environment (.env file)

So feel free to place the configurations in the database.php file but in my case, as we are developing the app, we are going to do it from the .env which, as I indicated, is the one we should use when developing; Finally, it would be as follows:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=larablog
DB_USERNAME=root
DB_PASSWORD=

And this would be all, of course, you have to go to your MySQL and through the graphical interface or from the console create the database that you are specifying in the project configurations.

I agree to receive announcements of interest about this Blog.

Connect a Laravel project to a MySQL database (for example); although we can connect to other types of databases such as SQLServer, PostgreSQL, etc.

- Andrés Cruz

En español

This material is part of my complete course and book; You can purchase them from the books and/or courses section, Curso y Libro Laravel 12 con Tailwind Vue 3, introducción a Jetstream Livewire e Inerta desde cero - 2025.