18

在Mysql里批量替换
最近一段时间一直在忙一个项目。所以博客更新的不是很勤了。不久前发现博客里面很多图片的链接都失效了。知道了外链在photoshop.com上的图片开始不再提供外链功能。这个消息去年年底就知道了。所以有备份所有的图片下来。在这里还要感谢 @stream的微博 和 @ECBOX陈晓春 两位童鞋当时的帮助。备份下万张图片后就一直放在硬盘中,没有去立即更新掉博客图片链接。因为当时还一直都有效。还幻想着photoshop.com会让老客户的文件长久保留。但是现实就是现实。外链图片真的让人没有安全感。连photoshop.com这么大的公司也会这样。其他的你能保证一直给你永久免费外链嘛!想想还是传到自己的本地服务器上吧。于是问题又来了,怎么替换掉这千万个外链地址呢。如果一张张的替换修改。额~ 那将是一个漫长而痛苦的过程。于是开始我试图到处数据库然后文本查找替换。但是发现我的数据太大,直接导出都不能完整导出。于是考虑直接在数据库中修改。这个对于我这个程序菜鸟来说还是很危险的。但是任何挑战都需要风险的嘛。现在整理出方法给大家参考。在你给你的wordpress搬家后,很多时候图片链接都要一些变动。这个批量替换就是一个很好超赞的方法。

进入phpmyadmin,打开相应的数据库,先搜索需要替换的内容所在表和字段,然后修改表和字段运行下面的sql语句,直至搜索不到需要替换的内容为止

1
Update `wp_posts` SET `guid` = REPLACE(`guid`,'jackchen.cn/wordpress','jackchen.cn/images');

解释:
wp_posts 数据表(跟去搜索的结果,修改为相应的表)
guid 字段(根据搜索的结果,修改为相应的字段)
jackchen.cn/wordpress 需要替换的内容(改为你需要替换的内容)
jackchen.cn/images 替换成的新内容(改为你要替换成的新内容)
可解决网站搬家后,域名的变更,目录结构得变更导致的一系列图片、链接地址等问题

标签:, ,