使用 Python 进行 MySQL 数据库迁移
您可以使用 MySQL将 MySQL从一台服务器迁移到另一台服务器。 此脚本适用于任何平台:
- IBM Cloud® 经典基础设施,用于 IBM Cloud VPC
- IBM Cloud VPC 本地
- 其他 IBM Cloud VPC }}云服务提供商
先决条件
在开始迁移前,请检查以下前提条件:
- 设置一个 IBM Cloud Object Storage 存储桶。
- 请确保您拥有Object Storage写入权限。
- 请确保您的系统与源服务器和目标服务器建立了连接。
- 请确保您的系统上已安装 Python3 3.0 和 Pip3。
迁移概览图
复制并运行数据库迁移脚本
请完成以下步骤,以复制并运行数据库迁移脚本:
-
运行以下命令来克隆公共 GitHub 存储库。
git clone https://github.com/IBM-Cloud/vpc-migration-tools.git -
转到
mysql文件夹。cd vpc-migration-tools/db-migration/mysql -
通过运行以下命令安装 Python必备模块:
pip3 install -U pip setuptoolspip3 install -r requirements.txtsetuptools通过增强 Python distutils,为 Python打包提供便利。requirements.txt文件用于安装脚本所需Python。 -
运行数据库迁移脚本:
python3 db_migration.py
提供迁移的详细信息
运行数据库迁移脚本后,您需要提供以下参数的详细信息:
- Object Storage
- 源服务器
- 源服务器数据库
- 目标服务器
- 目标服务器数据库
Object Storage详细信息
Object Storage充当源服务器和目标服务器的集中存储。 通过使用 s3fs 实用程序,该存储桶作为文件系统安装在源服务器和目标服务器上。 源端使用存储桶来存储数据库备份,而目标端使用存储桶来检索数据库备份,从而最大限度地缩短了迁移时间。
请完成以下步骤,安装 Object Storage:
- 输入 Object Storage 邮箱名称,例如
my-db-bucket。 铲斗必须已经准备好。 - 输入 Object Storage,即存储桶的位置;例如,
https://s3.dal.us.cloud-object-storage.appdomain.cloud。 更多信息,请参阅 终端和存储位置。 - 输入现有 IBM Cloud API 密钥。 更多信息,请参见 创建 IBM Cloud 密钥。
源服务器详细信息
在您安装 Object Storage桶后,您需要提供源服务器的详细信息:
- 输入源服务器IP地址或主机名。 源服务器是 MySQL,需要迁移。
- 输入源服务器的登录信息。 脚本需要使用用户名和密码进行身份验证。 确保用户权限与
root相同。
源服务器数据库详细信息
- 输入源服务器 MySQL连接信息,例如 MySQL用户名,默认为
root。 - 输入您的 MySQL, 该密码将验证您是否有权对要迁移的 MySQL 数据库执行操作。
- 输入您要迁移的数据库名称。
目标服务器详细信息
在您提供源服务器和源服务器数据库的详细信息后,您需要提供目标服务器的详细信息:
- 输入目标服务器的IP地址或主机名。 目标服务器是 MySQL的迁移位置。
- 输入目标服务器的登录信息。 同样,对于源服务器,脚本需要使用用户名和密码进行身份验证。 确保用户权限与
root相同。
目标服务器数据库详细信息
- 输入目标服务器 MySQL 连接信息,例如 MySQL用户名,默认为
root。 - 输入您的 MySQL, 密码,用于验证您是否有权限执行恢复数据库的操作。
- 输入源服务器数据库名称。
- 输入目标数据库名称。 默认情况下,此脚本从源数据库名称中获取数据库名称。 如果您想为迁移使用不同的数据库名称,则可以根据您的要求提供输入。
- 数据库迁移成功后,将显示一条“完成”消息。