Я использую mysql 5.7.24 в Ubuntu.Я скачал соответствующий исходный код сервера MySQL для версии 5.7.24 с GitHub.После компиляции mysql он создал несколько примеров .so файлов плагина.Одним из них является rewrite_example.so.Я поместил этот файл в каталог плагинов mysql / usr / lib / mysql / plugin.После этого из запроса mysql, когда я пытаюсь загрузить плагин в базу данных, он выдает ошибку «не могу найти символ», как показано ниже.
Пожалуйста, дайте мне знать, что я делаю неправильно.
mysql> create function rewrite_example returns string soname'rewrite_example.so';
ERROR 1127 (HY000): Can't find symbol 'rewrite_example' in library
Когда я запускаю nm для .so файла, я получаю следующий вывод.
shell> nm rewrite_example.so
0000000000201218 B __bss_start
0000000000201218 b completed.7696
w __cxa_finalize@@GLIBC_2.2.5
0000000000000700 t deregister_tm_clones
0000000000000790 t __do_global_dtors_aux
0000000000200e08 t __do_global_dtors_aux_fini_array_entry
0000000000201020 d __dso_handle
00000000000007da t __dtrace
0000000000200e10 d _DYNAMIC
0000000000201218 D _edata
0000000000201220 B _end
0000000000000848 T _fini
00000000000007d0 t frame_dummy
0000000000200e00 t __frame_dummy_init_array_entry
00000000000009f8 r __FRAME_END__
U fwrite@@GLIBC_2.2.5
0000000000201000 d _GLOBAL_OFFSET_TABLE_
w __gmon_start__
0000000000000908 r __GNU_EH_FRAME_HDR
00000000000006b0 T _init
w _ITM_deregisterTMCloneTable
w _ITM_registerTMCloneTable
00000000002011ae d mysql_command__done_semaphore
00000000002011ac d mysql_command__start_semaphore
00000000002011aa d mysql_connection__done_semaphore
00000000002011a8 d mysql_connection__start_semaphore
00000000002011fa d mysql_delete__done_semaphore
00000000002011ca d mysql_delete__row__done_semaphore
00000000002011c8 d mysql_delete__row__start_semaphore
00000000002011f8 d mysql_delete__start_semaphore
00000000002011e2 d mysql_filesort__done_semaphore
00000000002011e0 d mysql_filesort__start_semaphore
00000000002011da d mysql_handler__rdlock__done_semaphore
00000000002011d4 d mysql_handler__rdlock__start_semaphore
00000000002011de d mysql_handler__unlock__done_semaphore
00000000002011d8 d mysql_handler__unlock__start_semaphore
00000000002011dc d mysql_handler__wrlock__done_semaphore
00000000002011d6 d mysql_handler__wrlock__start_semaphore
00000000002011d2 d mysql_index__read__row__done_semaphore
00000000002011d0 d mysql_index__read__row__start_semaphore
00000000002011ea d mysql_insert__done_semaphore
00000000002011c2 d mysql_insert__row__done_semaphore
00000000002011c0 d mysql_insert__row__start_semaphore
00000000002011ee d mysql_insert__select__done_semaphore
00000000002011ec d mysql_insert__select__start_semaphore
00000000002011e8 d mysql_insert__start_semaphore
000000000020120a d mysql_keycache__read__block_semaphore
0000000000201210 d mysql_keycache__read__done_semaphore
000000000020120c d mysql_keycache__read__hit_semaphore
000000000020120e d mysql_keycache__read__miss_semaphore
0000000000201208 d mysql_keycache__read__start_semaphore
0000000000201214 d mysql_keycache__write__block_semaphore
0000000000201216 d mysql_keycache__write__done_semaphore
0000000000201212 d mysql_keycache__write__start_semaphore
00000000002011fe d mysql_multi__delete__done_semaphore
00000000002011fc d mysql_multi__delete__start_semaphore
00000000002011f6 d mysql_multi__update__done_semaphore
00000000002011f4 d mysql_multi__update__start_semaphore
0000000000201202 d mysql_net__read__done_semaphore
0000000000201200 d mysql_net__read__start_semaphore
0000000000201206 d mysql_net__write__done_semaphore
0000000000201204 d mysql_net__write__start_semaphore
0000000000201040 D _mysql_plugin_declarations_
000000000020102c D _mysql_plugin_interface_version_
00000000002011b8 d mysql_query__cache__hit_semaphore
00000000002011ba d mysql_query__cache__miss_semaphore
00000000002011b2 d mysql_query__done_semaphore
00000000002011be d mysql_query__exec__done_semaphore
00000000002011bc d mysql_query__exec__start_semaphore
00000000002011b6 d mysql_query__parse__done_semaphore
00000000002011b4 d mysql_query__parse__start_semaphore
00000000002011b0 d mysql_query__start_semaphore
00000000002011ce d mysql_read__row__done_semaphore
00000000002011cc d mysql_read__row__start_semaphore
00000000002011e6 d mysql_select__done_semaphore
00000000002011e4 d mysql_select__start_semaphore
0000000000201028 D _mysql_sizeof_struct_st_plugin_
00000000002011f2 d mysql_update__done_semaphore
00000000002011c6 d mysql_update__row__done_semaphore
00000000002011c4 d mysql_update__row__start_semaphore
00000000002011f0 d mysql_update__start_semaphore
U PSI_server
0000000000000740 t register_tm_clones
U stderr@@GLIBC_2.2.5
00000000002011a8 d __TMC_END__
00000000000007f0 t _ZL11plugin_initPv
0000000000000820 t _ZL13rewrite_lowerP3THD19mysql_event_class_tPKv
0000000000201190 d _ZL18all_rewrite_memory
000000000020121c b _ZL26key_memory_rewrite_example
0000000000201120 d _ZL26rewrite_example_descriptor