ここでクレイジー一つです:MySQLのUDFがインストールされている(ただし、存在しない?)
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
うーん....それは実際には非常に面白いです....
本当の問題があることです関数はもはやクエリで認識されません。再コンパイル、再インストール、再起動などを試しました - 喜びはありません。 UDFはここからです:http://www.mysqludf.org/lib_mysqludf_preg/index.php
これは、mysqlからpercona 5.5に切り替えた後に続きます。 UDFはmysqlで正常に動作しました。
質問です:にはどうすればPREG UDFはpercona 5.5にMySQLからのアップグレード後に動作するのですか?
ANSWER:ここでは、以下の男爵の先端に基づいて回答です: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は私の標準のMySQLのインストールとは異なるディレクトリに見ているようです。
MySqlは、/ usr/lib/mysql/plugin内のすべてのプラグインを探します。 Perconaは、解決策は単純だったの/ usr/libに/プラグイン
で探していた - 次のように私はただの/ usr/libに/ mysqlの/ pluginディレクトリには/ usr/libにシンボリックリンクを作成しました:
[email protected]:/usr/lib/plugin$ sudo ln -s /usr/lib/mysql/plugin ./plugin
ビオラ! - 今はすべてがうまくロードされます。