将我的Laravel连接到外部数据库

luaexgnf  于 2023-01-18  发布在  其他
关注(0)|答案(5)|浏览(198)

我如何将我的laravel连接到外部数据库?
示例:我的本地机器上有一个laravel,它运行在xampp上。我想让它连接到云服务器数据库。

des4xlb0

des4xlb01#

打开.env文件并编辑它。只需设置正确的外部DB凭据:

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
vh0rcniy

vh0rcniy2#

在**.env文件中,您可以使用数据库名称设置DB_CONNECTION/config/database.php中给出了适用的数据库(SQLite、MySQL、pgSQL、SQLSRV),之后只需键入您的用户名**、密码数据库名称,您就可以使用带有端口号的数据库。

lxkprmvk

lxkprmvk3#

  • .环境*
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=
    • 配置文件/数据库. 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();
li9yvcax

li9yvcax4#

在.env(这是在根文件夹中)文件中,根据外部DB连接更改以下凭据:

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

如果尝试连接外部MySQL,请在config/database.php中更改以下凭据,否则其他人有更多选项,或者请说明您要从哪个DB连接

'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'),
            ]) : [],
        ],
dfuffjeb

dfuffjeb5#

1.启用MYSQL Remote

首先,您需要阅读您的托管文档,以获取服务器数据和说明,通过将您的IP列入白名单来为您的本地IP启用mysqlremote,或者如果您想允许任何人访问,则可以使用通配符%
在我例子中是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

相关问题