一次查询通过所有mysql数据库删除子字符串

一次查询通过所有mysql数据库删除子字符串,mysql,malware,Mysql,Malware,我有一个问题,因为一些恶意软件已经到了我的网站。我想用1个查询删除数据库中的所有恶意软件代码。我相信这是可能的 我无法删除所有行,恶意软件在每个页面/文章/图库/中添加了一些代码。。。标题所以我想保留文章的原始标题。我希望这是可能的 例如: <script src="...">...</script>About us …关于我们 我需要关于我们的信息将保留在数据库中。 如何一次通过所有数据库执行此操作?您可以使用 下面是一个演示: mysql> SET @t =

我有一个问题,因为一些恶意软件已经到了我的网站。我想用1个查询删除数据库中的所有恶意软件代码。我相信这是可能的

我无法删除所有行,恶意软件在每个页面/文章/图库/中添加了一些代码。。。标题所以我想保留文章的原始标题。我希望这是可能的

例如:

<script src="...">...</script>About us
…关于我们
我需要
关于我们的信息
将保留在数据库中。 如何一次通过所有数据库执行此操作?

您可以使用

下面是一个演示:

mysql> SET @t = 'See <script src="...">...</script>About us';

mysql> SELECT CONCAT(
  SUBSTRING(@t, 1, LOCATE('<script ', @t)-1), 
  SUBSTRING(@t, LOCATE('</script>', @t)+LENGTH('</script>'))) AS newstring;
+--------------+
| newstring    |
+--------------+
| See About us |
+--------------+
mysql>SET@t='See…About us';
mysql>选择CONCAT(
子字符串(@t,1,LOCATE('mydatabase.sql
$vim mydatabase.sql

:%s/我们都去过那里!我使用了你的第二个解决方案,效果很好。我用php strom打开了SQL转储,找到所有的s并删除。干得好!现在你必须弄清楚黑客是如何利用你的网站的,并修复你的安全漏洞,这样就不会再发生这种情况了。:-)是的,那是非常旧的wordpress版本。
UPDATE MyTable
SET MyStringColumn = CONCAT(
      SUBSTRING(MyStringColumn, 1, LOCATE('<script ', MyStringColumn)-1), 
      SUBSTRING(MyStringColumn, LOCATE('</script>', MyStringColumn)+LENGTH('</script>')));
$ mysqldump mydatabase > mydatabase.sql

$ vim mydatabase.sql

  :%s/<script src=.*<\/script>//g

$ mysql mydatabase < mydatabase.sql