AFAIK, il n'y a pas de moyen natif de s'échapper pour MySQL regex. Vous pouvez le faire en PHP avec preg_quote (http://www.php.net/manual/en/function.preg-quote.php) qui ferait probablement le travail pour vous, mais n'est évidemment pas conçu à cet effet.
Ma méthode préférée si j'étais dans votre situation serait de construire une liste blanche de regex en PHP que vous pouvez ensuite appliquer à votre chaîne dangereuse :
$safeString = preg_replace('/[^\w]/','',$dangerousString);
Cela supprime tous les caractères non verbaux (c'est-à-dire tout sauf A-Za-z0-9_) de votre chaîne.
NB Je crois que les autres réponses données ne supprimeront/échapperont pas les caractères spéciaux regex, ce qui, je pense, est votre exigence.