Подключите мой Laravel к внешней базе данных - PullRequest
0 голосов
/ 05 июля 2019

Как я могу подключить мой laravel к внешней базе данных?

Пример: у меня на локальном компьютере установлен laravel, работающий на xammp. И я хочу, чтобы он подключился к базе данных облачного сервера.

Ответы [ 4 ]

2 голосов
/ 05 июля 2019

В .env файле вы можете установить DB_CONNECTION с именем вашей базы данных, а соответствующие базы данных приведены в /config/database.php, которые (SQLite, MySQL, pgSQL, SQLSRV), после этого просто введите имя пользователя , пароль и имя базы данных , и вы можете использовать эту базу данных с номером порта.

1 голос
/ 05 июля 2019

Откройте файл .env и отредактируйте его. Просто установите правильные учетные данные внешней БД:

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1         // set external DB_Host 
DB_PORT=3306             // Your Database Port
DB_DATABASE=            // Your Database Name
DB_USERNAME=           // Your Database Username
DB_PASSWORD=          // Your Database Password

DB_USERNAME должен быть установлен на root , если у вас нет имени пользователя по умолчанию во время установки

Если в базе данных не установлен пароль, просто очистите его DB_PASSWORD

После .env редактирования, должен быть очищен кеш:

php artisan config:cache
1 голос
/ 05 июля 2019

В файле .env (это в корневой папке) измените ниже учетные данные соответственно с подключением к внешней БД:

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

и в config / database.php измените нижеуказанные учетные данные при попытке подключения с внешним MySQLв противном случае есть другие варианты для других или, пожалуйста, укажите, к какой БД вы хотите подключиться

'mysql' => [
            'driver' => 'mysql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? array_filter([
                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            ]) : [],
        ],
0 голосов
/ 05 июля 2019

.env

DB_CONNECTION_SECOND=mysql
DB_HOST_SECOND=127.0.0.1
DB_PORT_SECOND=3306
DB_DATABASE_SECOND=laravel
DB_USERNAME_SECOND=root
DB_PASSWORD_SECOND=

config / database.php

'mysql_second' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST_SECOND', '127.0.0.1'),
            'port' => env('DB_PORT_SECOND', '3306'),
            'database' => env('DB_DATABASE_SECOND', 'forge'),
            'username' => env('DB_USERNAME_SECOND', 'forge'),
            'password' => env('DB_PASSWORD_SECOND', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
        ],

Если вы используете Модель

добавить эту строку

protected $connection = "mysql_second";

Если вы используете фасады

DB::connection('mysql_second')->table('table_name')->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...