当前位置: 首页 > 知识库问答 >
问题:

无法将数据库迁移到AWS弹性Beanstalk

淳于恺
2023-03-14

我在AWS托管了一个站点。我已经为弹性Beanstalk创建了一个RDS DB实例。在我的laravel应用程序的config/database.php文件中,我将数据库连接配置为:

'mysql' => [
         'driver' => 'mysql',
         'host' => 'mydbidentefier.cdh7pykyg7in.ap-south-1.rds.amazonaws.com',
         'port' => 3306,
         'database' => 'mydbidentefier',
         'username' => 'admin',
         'password' => 'mypw',
         'unix_socket' => env('DB_SOCKET', ''),
         'charset' => 'utf8mb4',
         'collation' => 'utf8mb4_unicode_ci',
         'prefix' => '',
         'strict' => true,
         'engine' => null,
     ],

现在,当我尝试通过SSHing运行PHP artisan Migrate到EC2实例时,我得到以下错误:

SQLState[HY000][1049]未知数据库“MydBindEntifier”(SQL:select*from项目)

“mydbidentifier”是RDS控制台中显示的DB标识符。怎么可能找不到。

还有一件事:难道我不能通过SSHing到EC2实例从命令行运行mysql吗?当我通过SSHing到EC2命令行终端来尝试mysql-u root-p时。我得到另一个错误:

错误2002(HY000):无法通过套接字“/var/lib/MySQL/MySQL.sock”(2)连接到本地MySQL服务器

我错过什么了吗?如有任何指导,将不胜感激。

共有1个答案

荣德厚
2023-03-14

“mydbidentifier”是RDS控制台中显示的DB标识符。怎么可能找不到。

默认情况下,RDS不会为您创建数据库。它只是创建一个DB实例。要创建DB,您需要显式地选择加入:

如果还没有这样做,则必须使用常规SQL命令来创建数据库,例如在使用db客户端连接到db实例之后使用create database

当我通过SSHing进入EC2命令行终端来尝试mysql-u root-p时。我又犯了一个错误

您必须明确指定如文档中所示的主机,例如。

mysql -u root -p  -h mydbidentefier.cdh7pykyg7in.ap-south-1.rds.amazonaws.com
 类似资料:
  • 我正在寻找最好的方法来迁移我的应用程序数据库,它使用firebase实时数据库到新的云Firestore数据库。对于我正在进行的项目,我确信我不需要做任何数据模式的更改,所以我几乎只是尝试1-1映射它。Firebase在他们的网站上建议只编写一个脚本来实现这一点,但我不确定最好的方法。有没有人已经做了一个脚本来完成这件事?

  • 问题内容: 我正在使用Java开发数据库迁移工具。该工具将数据库表及其数据复制到目标数据库。但是我希望它可以在不同的数据库上工作。从mysql复制并在derby等中创建。使用JDBC,我们可以收集有关表及其列的足够信息。但是我要问的是,是否可以使用sql free在Java上重新创建表。我的意思是不同的数据库具有不同的数据类型,有时它们在sql语法上也有所不同。那么JDBC或任何其他库(可以是开放

  • 在开发和维护一个数据库驱动的应用程序时, 数据库的结构会像代码一样不断演变。 例如,在开发应用程序的过程中,会增加一张新表且必须得加进来; 在应用程序被部署到生产环境后,需要建立一个索引来提高查询的性能等等。 因为一个数据库结构发生改变的时候源代码也经常会需要做出改变, Yii 提供了一个 数据库迁移 功能,该功能可以记录数据库的变化, 以便使数据库和源代码一起受版本控制。 如下的步骤向我们展示了

  • 简介 迁移就像是数据库的版本控制, 允许团队简单轻松的编辑并共享应用的数据库表结构,迁移通常和 Laravel 的 数据库结构生成器配合使用,让你轻松地构建数据库结构。如果你曾经试过让同事手动在数据库结构中添加字段,那么数据库迁移可以让你不再需要做这样的事情。 Laravel 的 Schema 门面 对所有 Laravel 支持的数据库系统提供了创建和操作数据表的相应支持。 生成迁移 使用 Art

  • 数据库迁移可以理解为对数据库结构的版本管理,可以有效的解决团队中跨成员对数据库结构的管理。 生成迁移 通过 gen:migration 生成一个迁移文件,命令后面跟的是一个文件名参数,通常为这个迁移要打算做的事情。 php bin/hyperf.php gen:migration create_users_table 生成的迁移文件位于根目录下的 migrations 文件夹内,每个迁移文件都包

  • 在首次创建数据库,您可以使用版本0指定一个迁移运行时! 注意:任何提供的子类,如,UpdateTableMigration和应该只覆盖onPreMigrate()和调用super.onPreMigrate(),所以它的正确实例化。 基类,是一个非常简单的类来执行迁移: 此处是添加到数据库的列的一个例子: 现在,我们要添加一列到这个表。我们有两种方式: 通过Migration: