2012-03-18 25 views
8

यहाँ एक पागल एक है:Mysql यूडीएफ स्थापित किया गया है (लेकिन मौजूद नहीं है?)

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 

उम .... कि वास्तव में काफी हास्यास्पद है ....

असली समस्या यह है कि है कार्य अब प्रश्नों में पहचाना नहीं गया है। फिर से संकलन, पुनः स्थापित, पुन: शुरू करने, आदि का प्रयास किया - कोई खुशी नहीं। यूडीएफ यहां से है: http://www.mysqludf.org/lib_mysqludf_preg/index.php

यह mysql से percona 5.5 पर स्विच करने के बाद पीछा किया गया। यूडीएफ ने MySQL में ठीक काम किया।

प्रश्न है: मैं कैसे preg यूडीएफ mysql से उन्नयन 5.5 percona करने के बाद काम करने के लिए मिलता है?

उत्तर: यहाँ जवाब नीचे बैरन के टिप के आधार पर दिया गया है:

से 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/प्लगइन में दिखता है। Percona में/usr/lib/प्लगइन

समाधान सरल देख रहा था था - मैं तो बस इस प्रकार है/usr/lib/usr/lib/mysql/प्लगइन निर्देशिका में एक सिमलिंक बनाया:

[email protected]:/usr/lib/plugin$ sudo ln -s /usr/lib/mysql/plugin ./plugin 

व्हायोला! सबकुछ अभी ठीक है।

उत्तर

2

मुझे यह बहुत मिलता है। इस समस्या को हल करने के लिए आपको चाहिए:

DELETE FROM mysql.func WHERE name='PREG_REPLACE' 

और फिर अपने CREATE FUNCTION... बयान के साथ आगे बढ़ें।