使用 Python 进行 MySQL 数据库迁移

您可以使用 MySQL将 MySQL从一台服务器迁移到另一台服务器。 此脚本适用于任何平台:

  • IBM Cloud® 经典基础设施,用于 IBM Cloud VPC
  • IBM Cloud VPC 本地
  • 其他 IBM Cloud VPC }}云服务提供商

先决条件

在开始迁移前,请检查以下前提条件:

  1. 设置一个 IBM Cloud Object Storage 存储桶。
  2. 请确保您拥有Object Storage写入权限。
  3. 请确保您的系统与源服务器和目标服务器建立了连接。
  4. 请确保您的系统上已安装 Python3 3.0 和 Pip3。

迁移概览图

迁移概览图
迁移概览图

复制并运行数据库迁移脚本

请完成以下步骤,以复制并运行数据库迁移脚本:

  1. 运行以下命令来克隆公共 GitHub 存储库。

    git clone https://github.com/IBM-Cloud/vpc-migration-tools.git
    
  2. 转到 mysql 文件夹。

    cd vpc-migration-tools/db-migration/mysql
    
  3. 通过运行以下命令安装 Python必备模块:

    pip3 install -U pip setuptools
    
    pip3 install -r requirements.txt
    

    setuptools 通过增强 Python distutils,为 Python打包提供便利。 requirements.txt 文件用于安装脚本所需Python。

  4. 运行数据库迁移脚本:

    python3 db_migration.py
    

提供迁移的详细信息

运行数据库迁移脚本后,您需要提供以下参数的详细信息:

  • Object Storage
  • 源服务器
  • 源服务器数据库
  • 目标服务器
  • 目标服务器数据库

Object Storage详细信息

Object Storage充当源服务器和目标服务器的集中存储。 通过使用 s3fs 实用程序,该存储桶作为文件系统安装在源服务器和目标服务器上。 源端使用存储桶来存储数据库备份,而目标端使用存储桶来检索数据库备份,从而最大限度地缩短了迁移时间。

请完成以下步骤,安装 Object Storage:

  1. 输入 Object Storage 邮箱名称,例如 my-db-bucket。 铲斗必须已经准备好。
  2. 输入 Object Storage,即存储桶的位置;例如,https://s3.dal.us.cloud-object-storage.appdomain.cloud。 更多信息,请参阅 终端和存储位置
  3. 输入现有 IBM Cloud API 密钥。 更多信息,请参见 创建 IBM Cloud 密钥

源服务器详细信息

在您安装 Object Storage桶后,您需要提供源服务器的详细信息:

  1. 输入源服务器IP地址或主机名。 源服务器是 MySQL,需要迁移。
  2. 输入源服务器的登录信息。 脚本需要使用用户名和密码进行身份验证。 确保用户权限与 root 相同。

源服务器数据库详细信息

  1. 输入源服务器 MySQL连接信息,例如 MySQL用户名,默认为 root
  2. 输入您的 MySQL, 该密码将验证您是否有权对要迁移的 MySQL 数据库执行操作。
  3. 输入您要迁移的数据库名称。

目标服务器详细信息

在您提供源服务器和源服务器数据库的详细信息后,您需要提供目标服务器的详细信息:

  1. 输入目标服务器的IP地址或主机名。 目标服务器是 MySQL的迁移位置。
  2. 输入目标服务器的登录信息。 同样,对于源服务器,脚本需要使用用户名和密码进行身份验证。 确保用户权限与 root 相同。

目标服务器数据库详细信息

  1. 输入目标服务器 MySQL 连接信息,例如 MySQL用户名,默认为 root
  2. 输入您的 MySQL, 密码,用于验证您是否有权限执行恢复数据库的操作。
  3. 输入源服务器数据库名称。
  4. 输入目标数据库名称。 默认情况下,此脚本从源数据库名称中获取数据库名称。 如果您想为迁移使用不同的数据库名称,则可以根据您的要求提供输入。
  5. 数据库迁移成功后,将显示一条“完成”消息。