MySQL 是一个开源的关系数据库管理系统 (RDBMS)。

此页面展示了如何将运行在 MySQL 8 或更早版本数据库中的数据导入到您的 Timescale Cloud 服务中。

最佳实践是使用与您的 Timescale Cloud 服务托管在同一区域的 Ubuntu EC2 实例作为迁移机器。也就是说,您在上面运行命令以将数据从源数据库移动到目标 Timescale Cloud 服务的机器。

在迁移数据之前

  • 创建一个目标 Timescale Cloud 服务

    每个 Timescale Cloud 服务都有一个支持最流行的扩展的单一数据库。Timescale Cloud 服务不支持表空间,并且没有与服务关联的超级用户。最佳实践是创建一个至少具有 8 个 CPU 的 Timescale Cloud 服务,以获得更流畅的体验。更高规格的实例可以显著缩短整体迁移窗口。

  • 为了确保维护不会在此过程中运行,请调整维护窗口

  • 在您的迁移机器上安装 Docker

    这台机器需要足够的空间来存储在数据复制期间发生的缓冲更改。此空间与迁移期间写入 Timescale Cloud 服务的新未压缩数据量成正比。一般的经验法则是 100GB 到 500GB 之间。

为了更快的数据传输,最佳实践是您的源数据库、目标服务和运行数据导入的系统位于同一区域。

要从 MySQL 数据库导入数据

  1. 设置目标服务的连接字符串

    此变量保存目标 Timescale Cloud 服务的连接信息。

    在源机器的终端中,设置以下内容

    export TARGET=postgres://tsdbadmin:<PASSWORD>@<HOST>:<PORT>/tsdb?sslmode=require

    您可以在创建服务时下载的配置文件中找到 Timescale Cloud 服务的连接信息。

  2. 设置源数据库的连接字符串

    SOURCE="mysql://<mysql_username>:<mysql_password>@<mysql_host>:<mysql_port>/<mysql_database>?sslmode=require"

    其中

    • <mysql_username>:您的 MySQL 用户名
    • <mysql_password>:您的 MySQL 密码
    • <mysql_host>:MySQL 服务器主机名或 IP 地址
    • <mysql_port>:MySQL 服务器端口,默认为 3306
    • <mysql_database>:您的 MySQL 数据库名称
  3. 导入您的数据

    在您的数据导入机器上,运行以下命令

    docker run -it ghcr.io/dimitri/pgloader:latest pgloader
    --no-ssl-cert-verification \
    "$SOURCE" \
    "$TARGET"
  4. 验证数据是否已正确导入到您的服务中

就这样,您已从 MySQL 导入了数据。

关键词

在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页面