如何将laravel连接到外部数据库?
示例:我在运行于xammp的本地计算机上安装了一个laravel。而且我希望它连接到云服务器数据库。
答案 0 :(得分:2)
在 .env 文件中,您可以使用数据库名称设置DB_CONNECTION
,并在/config/database.php
中提供适用的数据库,之后是(SQLite,MySQL,pgSQL,SQLSRV)只需键入您的用户名,密码和数据库名称,您就可以将该数据库与端口号一起使用。
答案 1 :(得分:1)
在.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'),
]) : [],
],
答案 2 :(得分:1)
打开.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
答案 3 :(得分:0)
.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";
如果您正在使用Facades
DB::connection('mysql_second')->table('table_name')->get();
答案 4 :(得分:0)
1.启用 MYSQL 远程
首先,您需要阅读您的托管文档以获取您的服务器数据以及通过将您的 IP 列入白名单来为您的本地 IP 启用 mysql 远程的说明,或者如果您想允许访问任何人,您可以使用通配符 %
< /p>
就我而言,HostGator:https://www.hostgator.com/help/article/how-to-connect-to-the-mysql-database-remotely,
2.更改 .env
配置
然后用您的托管服务提供商提供的数据填充 .env
文件。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1 //replace with your external server IP
DB_PORT=3306 // check open port for mysql usually is 3306
DB_DATABASE=laravel // replace with the name of your external database
DB_USERNAME=root //replace with the username associated with database
DB_PASSWORD= //put your username password