本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 “我的” SQL 作为来源 AWS SCT
您可以使用 AWS SCT 将架构、数据库代码对象和应用程序代码从 My SQL 转换为以下目标:
适用于 Post RDS gre 的亚马逊 SQL
亚马逊 Aurora Postgre SQL-兼容版
Amazon RDS for My SQL
有关详细信息,请参阅以下章节:
“我SQL作为源数据库” 的权限
“我SQL作为来源” 所需的权限如下:
-
SELECT开启* 。 *
-
SHOWVIEW开启* 。 *
SQL作为来源连接到 “我的”
使用以下过程通过连接到 “我的SQL源数据库” AWS Schema Conversion Tool。
连接到 “我的SQL源数据库”
-
在中 AWS Schema Conversion Tool,选择添加来源。
-
选择 “我的”SQL,然后选择 “下一步”。
此时显示添加源对话框。
-
对于连接名称,输入数据库的名称。 AWS SCT 会在左侧面板的树中显示此名称。
-
使用来自的数据库凭据 AWS Secrets Manager 或手动输入:
-
要使用 Secrets Manager 中的数据库凭证,请按照以下说明进行操作:
-
对于 S AWSecret,选择密钥的名称。
-
选择填充可使用 Secrets Manager 中的数据库凭证自动填写数据库连接对话框中的所有值。
有关使用 Secrets Manager 中的数据库凭证的信息,请参阅AWS Secrets Manager 在中配置 AWS Schema Conversion Tool。
-
-
要手动输入我的SQL源数据库连接信息,请按照以下说明进行操作:
参数 操作 服务器名称 输入源数据库服务器的域名系统 (DNS) 名称或 IP 地址。
您可以使用IPv6地址协议连接到您的源 “我的SQL数据库”。为此,请确保使用方括号输入 IP 地址,如以下示例所示。
[2001:db8:ffff:ffff:ffff:ffff:ffff:fffe]
服务器端口 输入用于连接到源数据库服务器的端口。
用户名和密码 输入数据库凭证,以便连接到源数据库服务器。
AWS SCT 仅当您选择在项目中连接到您的数据库时,才使用该密码连接到您的源数据库。为了避免泄露源数据库的密码, AWS SCT 不会默认存储该密码。如果您关闭 AWS SCT 项目并重新打开它,则系统会提示您输入密码以根据需要连接到源数据库。
使用 SSL 选择此选项可使用安全套接字层 (SSL) 连接到您的数据库。在SSL选项卡上提供以下其他信息(如果适用):
-
要求 SSL:选择此选项仅通过连接服务器SSL。
如果选择 “Req uire”SSL,则意味着如果服务器不支持SSL,则无法连接到服务器。如果您未选择 “要求”,SSL并且服务器不支持SSL,则仍然可以在不使用的情况下连接到服务器SSL。有关更多信息,请参阅将 “我配置SQL为使用安全连接
”。 -
验证服务器证书:选择此选项以使用信任存储验证服务器证书。
-
信任存储:包含证书的信任存储的位置。
存储密码 AWS SCT 创建用于存储SSL证书和数据库密码的安全保管库。启用此选项可让您存储数据库密码并在不需要输入密码的情况下快速连接到数据库。
MySql 驱动程序路径 输入用于连接到源数据库的驱动程序的路径。有关更多信息,请参阅 正在为安装JDBC驱动程序 AWS Schema Conversion Tool。
如果您将驱动程序路径存储在全局项目设置中,则驱动程序路径不会显示在连接对话框中。有关更多信息,请参阅 在全局设置中存储驱动程序路径。
-
-
-
选择 “测试连接” 以验证是否 AWS SCT 可以连接到您的源数据库。
-
选择连接以连接到源数据库。
Postgre SQL 作为目标数据库的权限
要使用 Postgre SQL 作为目标, AWS SCT 需要CREATE ON DATABASE
权限。确保为每个目标 Postgre SQL 数据库授予此权限。
要使用转换后的公共同义词,请将数据库的默认搜索路径更改为 "$user", public_synonyms, public
。
您可以使用以下代码示例创建数据库用户并授予权限。
CREATE ROLE
user_name
LOGIN PASSWORD 'your_password
'; GRANT CREATE ON DATABASEdb_name
TOuser_name
; ALTER DATABASEdb_name
SET SEARCH_PATH = "$user", public_synonyms, public;
在前面的示例中,替换 user_name
用你的用户名。然后,替换 db_name
使用目标数据库的名称。最后,替换 your_password
使用安全的密码。
在 Postgre 中SQL,只有架构所有者或架构superuser
才能删除架构。即使架构的所有者并不拥有架构的某些对象,该所有者也可以删除该架构及其包含的所有对象。
当你使用不同的用户转换不同的架构并将其应用到目标数据库时,当无法删除架构时,你 AWS SCT 可能会收到一条错误消息。为避免此类错误消息,请使用 superuser
角色。