mysql - EC2 AWS 上的 Laravel 4 php artisan migrate 命令出现 PDO 异常

标签 mysql laravel amazon-ec2 laravel-4

我在 AWS 的 EC2 上有一个 ubuntu 12.04 实例,并在那里上传了一个 Laravel 4 项目。我正在尝试运行 php artisan migrate,但由于某种原因我无法通过命令连接到我的 mysql 服务器。我可以使用 SSH(使用弹性 IP 作为主机)进入 SQL Pro 上的 MySql DB。我还使用弹性 IP 通过 SSH 连接到服务器。

当我运行 php artisan migrate 时出现此错误:

[PDOException]                                                               
  SQLSTATE[HY000] [2003] Can't connect to MySQL server on '**.***.***.**' (11  
  1)                                                                           



migrate [--bench[="..."]] [--database[="..."]] [--path[="..."]] [--package[="..."]] [--pretend] [--seed]

其中的开头代表我的“弹性 IP”,它是我用来连接到 SQL Pro 中的 mySQL 的主机。

在我的database.php配置文件中,我使用以下方式连接:

'mysql' => array(
            'driver'    => 'mysql',
            'host'      => '*ELASTIC IP*',
            'database'  => 'dbname',
            'username'  => '****',
            'password'  => '*******',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
        ),

我已经在这台服务器上安装了 php5、apache2、mcrypt 和 php5-mysql。我该如何解决这个问题?谢谢。

最佳答案

听起来您不一定允许您的“用户”进入数据库。

在 MySQL 中,“用户”是“用户名”@“主机名” 的组合。可能是您只是允许您的用户名用于特定主机,该主机可能是localhost127.0.0.1。要查看这是否是问题所在,您可以使用主机名通配符 % 创建一个用户。另外,允许该用户访问所有数据库。从 mysql> 命令行,如下所示:

CREATE USER '<username>'@'%' IDENTIFIED BY 'your-password';
GRANT ALL PRIVILEGES ON *.* TO '<username>'@'%';

关于mysql - EC2 AWS 上的 Laravel 4 php artisan migrate 命令出现 PDO 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22523449/

相关文章:

php - mysql 查询不显示空值

php - 使用 Laravel View::share 访问共享数组中的项目

php - 不引用公用文件夹的 Assets (Laravel)

linux - 无法通过 SSH 访问 EC2 实例 pem 'Permissions 0777 for ' .ssh/intuit-tke-qe.pem“太开放”

mysql - Google Cloud SQL 查询速度慢使用文件排序

php - MySQL——如何做得更好?

php - 如何构造具有多个权限级别的多个用户?

mysql - 按降序顺序从 Sentry 获取用户记录

mysql - EC2 服务器故障排除

amazon-web-services - 有谁知道如何减少 AWS 上的数据传出费用?