/mysql-zmq-plugin

ZeroMQ / ØMQ for MySQL

Primary LanguageCBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

mysql-zmq-plugin

Join the chat at https://gitter.im/netkiller/mysql-zmq-plugin

ZeroMQ / ØMQ for MySQL

http://zeromq.org/event:zeromq-for-mysql

Build

# yum install zeromq3-devel

# cmake .
# make && make install

Install & uninstall

drop function zmq_client;
drop function zmq_publish;

create function zmq_client returns string soname 'libzeromq.so';
create function zmq_publish returns string soname 'libzeromq.so';

mysql> SELECT * FROM `mysql`.`func` LIMIT 1000;
+--------------+-----+--------------+----------+
| name         | ret | dl           | type     |
+--------------+-----+--------------+----------+
| image_crc32  |   0 | image.so     | function |
| image_rename |   0 | image.so     | function |
| image_move   |   0 | image.so     | function |
| image_remove |   0 | image.so     | function |
| image_check  |   0 | image.so     | function |
| fifo_write   |   0 | fifo.so      | function |
| fifo_read    |   0 | fifo.so      | function |
| fifo_remove  |   0 | fifo.so      | function |
| fifo_create  |   0 | fifo.so      | function |
| zmq_publish  |   0 | libzeromq.so | function |
| zmq_client   |   0 | libzeromq.so | function |
+--------------+-----+--------------+----------+
11 rows in set (0.00 sec)

Test

编译zeromq server 测试程序

cd test
cmake .
make
./server

在mysql终端中运行测试SQL

mysql> select zmq_client('tcp://localhost:5555','Hello world!');
+---------------------------------------------------+
| zmq_client('tcp://localhost:5555','Hello world!') |
+---------------------------------------------------+
| Hello world! OK                                   |
+---------------------------------------------------+
1 row in set (0.01 sec)

mysql> select zmq_client('tcp://localhost:5555',mobile) from demo;
+-------------------------------------------+
| zmq_client('tcp://localhost:5555',mobile) |
+-------------------------------------------+
| 13113668891 OK                            |
| 13113668892 OK                            |
| 13113668893 OK                            |
| 13322993040 OK                            |
| 13588997745 OK                            |
+-------------------------------------------+
5 rows in set (0.03 sec)

手工编译

gcc -O3  -g  -I/usr/include/mysql -I/usr/include  -fPIC -lm -lz -shared -o libzeromq.so zeromq.c
sudo mv libzeromq.so /usr/lib/mysql/plugin/

Bitdeli Badge