Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Laravel 5.7迁移拆分读写数据库时出现的问题_Mysql_Database_Migration_Laravel 5.7_Read Write - Fatal编程技术网

Mysql Laravel 5.7迁移拆分读写数据库时出现的问题

Mysql Laravel 5.7迁移拆分读写数据库时出现的问题,mysql,database,migration,laravel-5.7,read-write,Mysql,Database,Migration,Laravel 5.7,Read Write,我正在经历以下情况: 我想将我的数据库拆分为单独的读写数据库。因此,我设置了config/database.php 'mysql' => [ 'driver' => 'mysql', 'write' => ['host' => env('DB_HOST_WRITE', 'localhost'),], 'read' => ['host' => env('DB_HOST_READ', 'localhost'

我正在经历以下情况:

我想将我的数据库拆分为单独的读写数据库。因此,我设置了config/database.php

    'mysql' => [
        'driver' => 'mysql',
        'write' => ['host' => env('DB_HOST_WRITE', 'localhost'),],
        'read'  => ['host' => env('DB_HOST_READ', 'localhost'),],
        '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' => '',
        'strict' => true,
        'engine' => null,
    ],
对于
DB\u HOST\u WRITE
DB\u HOST\u READ
我已经为运行数据库的服务器设置了IP地址

对于
DB\u数据库
DB\u用户名
DB\u密码
,我已经设置了数据库名称和登录凭据

当我尝试使用mysql控制台命令访问这两台服务器时,这两台服务器都是可访问的:
mysql-u USERNAME-h IPADDRESS-p

问题是:当我尝试从第三台服务器运行迁移时,就像这样

php artisan migrate
但是只有写数据库被设置

这是预期的行为吗

我必须手动迁移每个数据库吗

迁移命令是否有一个标志,允许我指定要迁移的连接

当我在谷歌上搜索时,我找不到任何关于读写数据库迁移的信息

没有进行进一步的数据库设置。我的信息来源是以下指南:

非常欢迎链接到有用的指南或解决方案建议


谢谢你的关注。

致@Travis Britz:谢谢你的提示。我遗漏了术语“MySQL复制”,laravel文档中没有对此进行评论。我错误地认为,laravel算法是自己处理同步的,而事实上并没有发生

数据库服务器之间的同步由MySQL内部机制处理

通过这些MySQL算法,我能够实现这样的通信结构,web应用程序部署步骤中的常见任务是:

我按照digital ocean的指南手动设置mysql复制:

Digital Ocean是我托管应用程序的服务器提供商。

图片取自:


向@Travis Britz致意。

谢谢你的提示。我遗漏了术语“MySQL复制”,laravel文档中没有对此进行评论。我错误地认为,laravel算法是自己处理同步的,而事实上并没有发生

数据库服务器之间的同步由MySQL内部机制处理

通过这些MySQL算法,我能够实现这样的通信结构,web应用程序部署步骤中的常见任务是:

我按照digital ocean的指南手动设置mysql复制:

Digital Ocean是我托管应用程序的服务器提供商。

图片取自:


致以最诚挚的问候。

您的数据库复制是如何在数据库之间配置的?您的数据库复制是如何在数据库之间配置的?是否可能重复