Aquí está un loco uno:MySQL UDF está instalado (pero no existe?)
mysql> CREATE FUNCTION PREG_REPLACE RETURNS STRING SONAME 'lib_mysqludf_preg.so';
ERROR 1125 (HY000): Function 'PREG_REPLACE' already exists
mysql> DROP FUNCTION preg_replace;
ERROR 1305 (42000): FUNCTION (UDF) preg_replace does not exist
Um .... eso es realmente muy divertido ....
El problema real es que el la función ya no se reconoce en las consultas. Intenté volver a compilar, reinstalar, reiniciar, etc., sin alegría. UDF es de aquí: http://www.mysqludf.org/lib_mysqludf_preg/index.php
Esto siguió después de cambiar a percona 5.5 desde mysql. UDF funcionó bien en mysql.
La pregunta es: ¿Cómo consigo la PREG UDF funcione después de actualizar de MySQL 5.5 a Percona?
RESPUESTA: Aquí está la respuesta en base a la punta del Barón a continuación:
Desde el MySQL error.log:
120319 9:32:06 Percona XtraDB (http://www.percona.com) 1.1.8-rel24.1 started; log sequence number 1547303885
120319 9:32:06 [ERROR] Can't open shared library 'lib_mysqludf_preg.so' (errno: 0 /usr/lib/plugin/lib_mysqludf_preg.so: cannot open shared object file: No such file or directory)
Percona parece mirar en un directorio diferente que mi estándar de MySQL instalar.
MySql busca todos los complementos en/usr/lib/mysql/plugin. Percona estaba buscando en/usr/lib
La solución/plugin fue sencilla - que acabo de crear un enlace simbólico en/usr/lib en el directorio/usr/lib/mysql/plug-in de la siguiente manera:
[email protected]:/usr/lib/plugin$ sudo ln -s /usr/lib/mysql/plugin ./plugin
Viola! - Todo carga bien ahora.