1 概述

腾讯云tdsql通过DTS服务迁移数据至tdsql-c,是不包含账号的,因此需要单独迁移账号。此方案可用于迁移mysq8之间的账号迁移。

2 环境

在云上购买一台2U2G的centos 7.9,并部署docker。

yum install -y yum-utils device-mapper-persistent-data lvm2
yum install yum-utils -y
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates
yum install docker-ce-cli-20.10.5-3.el7 docker-ce-20.10.5-3.el7 -y

mkdir -p /etc/docker
cat > /etc/docker/daemon.json << EOF
{
      "max-concurrent-downloads": 10,
      "log-driver": "json-file",
      "log-level": "warn",
      "log-opts": {
          "max-size": "100m",
          "max-file": "3"
      },
       "live-restore": true,
      "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

systemctl daemon-reload
systemctl enable docker.service
systemctl restart docker

3 执行脚本迁移账号

启动工具容器

run -it --rm --entrypoint=bash swr.cn-south-1.myhuaweicloud.com/migrator/mysql8-tool:migrate-user

执行generate-users-sql.sh脚本

./generate-users-sql.sh 源数据库IP 源数据库端口 源数据库账号 源数据库密码

执行generate-grants-sql.sh脚本

./generate-grants-sql.sh 源数据库IP 源数据库端口 源数据库账号 源数据库密码

现在会出现两个新脚本文件create-user.sql、create-grants.sql,将这两个脚本文件分别导入目标数据库即可

mysql -h 目标数据库 -P 目标数据库端口 -u 目标数据库账号 -p目标数据库密码 < create-user.sql
mysql -h 目标数据库 -P 目标数据库端口 -u 目标数据库账号 -p目标数据库密码 < create-grants.sql
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐