Laravel 迁移命令不适用于远程数据库
Laravel migrate command is not working for remote database
我正在使用 Laravel 4.2 框架开发一个项目。我想执行命令 php artisan migrate
但是当我 运行 这个命令时它显示错误:
[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1142 CREATE command denied to user 'abc'@'10.1.1.27' for table 'migrations'
我想我已经将项目文件和数据库放在了不同的服务器上,所以这就是我收到此错误的原因。
数据库服务器:10.1.1.56
项目服务器:10.1.1.27(本地主机)
此错误表明远程 MySQL 数据库未配置为允许用户 abc
从 IP 地址 10.1.1.27[=35= 执行某些操作].在许多情况下,MySQL 用户被设置为允许从 与数据库服务器相同的 主机访问,但我们需要明确 GRANT
access 客户端连接到来自远程主机的数据库。
我们可以使用以下命令授予用户 abc
从远程主机访问的权限。我们必须运行这些命令作为能够授予其他用户权限的用户(例如数据库的root用户):
GRANT ALL PRIVILEGES ON database.* TO 'abc'@'%';
FLUSH PRIVILEGES;
将database
替换为在.env或config/database.php[中配置的应用程序数据库的名称=35=]。 'username'@'%'
中的通配符 '%'
表示我们要向来自 any IP 地址的用户授予权限。如果我们不想让用户从 任何 IP 地址访问,我们可以通过将通配符替换为允许的地址来限制对特定 IP 地址的访问(10.1 .1.27 在这种情况下)。
根据项目的需要,我们可能不需要授予用户对数据库的所有权限。请参阅 documentation 以获取我们可以分配的可用权限列表。
1142 CREATE command denied to user 'abc'@'10.1.1.27' for table 'migrations'
以上命令只是表示用户对连接的数据库没有CREATE
权限。因此,首先您必须向该用户授予数据库权限,然后 运行 迁移。
解释:当你运行migrate
时,在数据库中创建了一个名为migration
的table保持迁移离子的状态,并且您没有 CREATE
权限,这就是它显示错误的原因。
我正在使用 Laravel 4.2 框架开发一个项目。我想执行命令 php artisan migrate
但是当我 运行 这个命令时它显示错误:
[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1142 CREATE command denied to user 'abc'@'10.1.1.27' for table 'migrations'
我想我已经将项目文件和数据库放在了不同的服务器上,所以这就是我收到此错误的原因。
数据库服务器:10.1.1.56
项目服务器:10.1.1.27(本地主机)
此错误表明远程 MySQL 数据库未配置为允许用户 abc
从 IP 地址 10.1.1.27[=35= 执行某些操作].在许多情况下,MySQL 用户被设置为允许从 与数据库服务器相同的 主机访问,但我们需要明确 GRANT
access 客户端连接到来自远程主机的数据库。
我们可以使用以下命令授予用户 abc
从远程主机访问的权限。我们必须运行这些命令作为能够授予其他用户权限的用户(例如数据库的root用户):
GRANT ALL PRIVILEGES ON database.* TO 'abc'@'%';
FLUSH PRIVILEGES;
将database
替换为在.env或config/database.php[中配置的应用程序数据库的名称=35=]。 'username'@'%'
中的通配符 '%'
表示我们要向来自 any IP 地址的用户授予权限。如果我们不想让用户从 任何 IP 地址访问,我们可以通过将通配符替换为允许的地址来限制对特定 IP 地址的访问(10.1 .1.27 在这种情况下)。
根据项目的需要,我们可能不需要授予用户对数据库的所有权限。请参阅 documentation 以获取我们可以分配的可用权限列表。
1142 CREATE command denied to user 'abc'@'10.1.1.27' for table 'migrations'
以上命令只是表示用户对连接的数据库没有CREATE
权限。因此,首先您必须向该用户授予数据库权限,然后 运行 迁移。
解释:当你运行migrate
时,在数据库中创建了一个名为migration
的table保持迁移离子的状态,并且您没有 CREATE
权限,这就是它显示错误的原因。