在Google CloudSQL上使用互连搜索替换wordpress迁移工具

时间:2018-09-20 13:16:27

标签: wordpress replace google-cloud-platform database-migration google-cloud-sql

我最近将站点迁移到了新服务器,现在正尝试使用wordpress抄本中建议的this tool将旧域替换为新域。

SQL实例和VM都在同一区域中,并使用云sql代理连接,但是当我尝试通过searc-replace工具连接到数据库时,连接被拒绝:

enter image description here

编辑: 用于启动sql代理的命令如下:

localhost:/cloudsql/project-name:region:sql-instance-name

与在配置文件中用于将站点连接到数据库的方式相同。

2 个答案:

答案 0 :(得分:1)

当应用程序尝试进​​行TCP连接但没有服务在目标地址和端口上侦听或防火墙拒绝连接时,发生“拒绝连接”错误。

首先,请确保您连接的端口正确。运行sudo netstat -lntp并查找cloud_sql_proxy。例如,您可能会看到

tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      71313/cloud_sql_pro

表明cloud sql正在侦听端口3306。如果看到此消息,则应将工具中的端口更改为3306。

如果netstat不显示 any cloud_sql_proxy行,则表明它不在监听TCP。虽然MySQL并不总是需要TCP,但看起来您正在使用的工具确实需要它。确保使用-instances=<INSTANCE_CONNECTION_NAME>=tcp:3306

启动cloud_sql_proxy

其次,请确保您连接的地址正确。此字段应为localhost,之后不得包含:/cloudsql/project-name:region:sql-instance-name

如果在这两个之后仍然无法使用,请使用sudo iptables -L查找阻止流量的防火墙规则。我相信您的防火墙不太可能阻止本地流量。

答案 1 :(得分:1)

使用Cloud SQL代理的另一种方法是直接连接到您的实例。为此:

  1. 找到正在运行PHP工具的VM的外部IP地址。
  2. 按照指示here
  3. 允许该IP地址访问您的SQL实例。
  4. 由于MySQL可以根据您的连接位置使用不同的用户名/密码,因此请确保主机%有一个用户名/密码组合。说明here
  5. 使用该工具,用户名/密码来自(3),端口= 3306,主机= SQL实例的IP地址
  6. 完成后,从IP地址中删除对Cloud SQL实例的访问。