使用 phpmyadmin ,我想运行一个查询来搜索我的 整个 数据库:
http://example.com
并替换为:
https://example.com
我的 SQL 知识有限,可能是这样的:
UPDATE ?? = REPLACE(??, 'http://example.com', 'https://example.com');
数据库超过 1gb,所以我可以运行什么 不会 使服务器崩溃。
更新:请注意,虽然在 SO 上发布了其他处理搜索和替换的答案,但它们似乎并未涵盖整个数据库。
原文由 Henrik Petterson 发布,翻译遵循 CC BY-SA 4.0 许可协议
警告,到目前为止给出的答案会弄乱序列化数据!
例如,假设您的站点将序列化数据存储在一行中,其中包含 URL,如下所示:
请注意,此项的值有 19 个字符,在数组中用 s:19 表示。
如果您使用 SQL 查询替换内容,则新环境中的同一行最终将如下所示:
但是在此更改之后,该值现在是 20 个字符长,这意味着 s:19 不正确。这会使数组和整行无效。
因此,要么确保你的 SQL 语句处理序列化数据,要么如果你碰巧使用 WordPress,那么有几个选项可以使用 PHP 进行搜索,以免破坏序列化的行:
取自并改编自: https ://wpengine.com/support/wordpress-serialized-data/