从本地MySQL主服务器到Google Cloud SQL从服务器的逐步复制数据

时间:2018-04-11 15:36:37

标签: mysql replication google-cloud-sql

我需要将数据从本地数据库主服务器(使用MySQL 5.6)复制到Google Cloud SQL slave。我阅读了谷歌的说明,直到现在我才这样做了:

  • 在本地计算机上安装MySQL 5.6并创建本地实例,数据库和表;
  • 设置为使用二进制文件(复制所必需的);
  • 创建用户“replica”以访问master;
  • 使用mysqldump创建了backup.sql文件,我按照谷歌说明操作;
  • 将此文件上传到Google存储桶;
  • 在Google Cloud SQL中创建了1º生成实例;
  • 将数据库创建为1º生成实例;
  • 将backup.sql恢复到数据库中;

谷歌指令的后续步骤是在Google Shell中输入代码“ACCESS_TOKEN =”......

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  --header 'Content-Type: application/json' \
 --data '{"name": "[INTERNAL_MASTER_INSTANCE_NAME]",
          "region": "[REGION_NAME]",
          "databaseVersion": "[EXTERNAL_MASTER_DATABASE_VERSION]",
          "onPremisesConfiguration": {"hostPort": "[IP_ADDRESS:PORT]"}}' \
 -X POST \
 https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances

但是我有一条错误消息“400 - 无效值:5.6.39不是有效值”。我在哪里可以找到MySQL中的“databaseVersion”:“[EXTERNAL_MASTER_DATABASE_VERSION]”?有人一步一步地使用MySQL配置本地数据库以将数据复制到Google Cloud SQL吗?

1 个答案:

答案 0 :(得分:0)

根据Configuring External Masters文档,您有2个databaseVersion选项:

  

对于databaseVersion,提供主实例的MySQL版本:   MYSQL_5_5MYSQL_5_6

由于您正在插入5.6.39,它会触发400错误。