ZeroMQ / ØMQ for MySQL
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.gitignore
CMakeLists.txt
LICENSE
README.md
zeromq.c
zeromq.h

README.md

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