zoukankan      html  css  js  c++  java
  • gearman mysql udf

    • gearman安装

    apt-get install gearman gearman-server libgearman-dev

    配置bindip

    /etc/defalut/gearman-job-server

    PARAMS="--listen=0.0.0.0"

    /etc/init.d/gearman-job-server start
    /etc/init.d/gearman-job-server status
    * gearmand is running

    mysql_config无就安装下面的
    apt-get install libmysqld-dev libmysqlclient-dev

    mysql 查找plugin目录:

     show variables like '%plugin%';

    编译安装 udf

    CPPFLAGS=" -Werror -Wno-unused-but-set-variable" ./configure --with-mysql=/usr/bin/mysql_config --libdir=/usr/lib/mysql/plugin

    make install

    Libraries have been installed in:
    /usr/lib/mysql/plugin

    If you ever happen to want to link against installed libraries
    in a given directory, LIBDIR, you must either use libtool, and
    specify the full pathname of the library, or use the `-LLIBDIR'
    flag during linking and do at least one of the following:
    - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
    during execution
    - add LIBDIR to the `LD_RUN_PATH' environment variable
    during linking
    - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
    - have your system administrator add LIBDIR to `/etc/ld.so.conf'

    安装函数UDF


    CREATE FUNCTION gman_do RETURNS STRING
    SONAME "libgearman_mysql_udf.so";
    CREATE FUNCTION gman_do_high RETURNS STRING
    SONAME "libgearman_mysql_udf.so";
    CREATE FUNCTION gman_do_low RETURNS STRING
    SONAME "libgearman_mysql_udf.so";
    CREATE FUNCTION gman_do_background RETURNS STRING
    SONAME "libgearman_mysql_udf.so";
    CREATE FUNCTION gman_do_high_background RETURNS STRING
    SONAME "libgearman_mysql_udf.so";
    CREATE FUNCTION gman_do_low_background RETURNS STRING
    SONAME "libgearman_mysql_udf.so";
    CREATE AGGREGATE FUNCTION gman_sum RETURNS INTEGER
    SONAME "libgearman_mysql_udf.so";
    CREATE FUNCTION gman_servers_set RETURNS STRING
    SONAME "libgearman_mysql_udf.so";

    • 配置GearmanIP

     SELECT gman_servers_set('127.0.0.1:4730');

    CREATE FUNCTION json_array RETURNS STRING SONAME 'lib_mysqludf_json.so';
    select * from mysql.func;
    mysql> select * from mysql.func;
    +--------------+-----+----------------------+----------+
    | name | ret | dl | type |
    +--------------+-----+----------------------+----------+
    | json_array | 0 | lib_mysqludf_json.so | function |
    | json_members | 0 | lib_mysqludf_json.so | function |
    | json_values | 0 | lib_mysqludf_json.so | function |
    +--------------+-----+----------------------+----------+

    DROP FUNCTION json_array;

    查看gearman队列

    watch -n 1 "(echo status; sleep 0.1) | nc 127.0.0.1 4730"
  • 相关阅读:
    【转载】MongoDB 数据库的备份与恢复
    【转载】Vim命令合集
    【转载】Mac 让 iTerm2 记住用户名密码
    CSS 实现单行、多行文本溢出显示省略号
    【转载】如何在Vue2中实现组件props双向绑定
    JavaScript 获取当日在今年第几周
    CentOS 7 安装配置FTP服务器(vsftpd)
    CentOS 7 防火墙(firewall)常用命令
    Vs Code 之 实现右键打开文件夹
    git 报错
  • 原文地址:https://www.cnblogs.com/ahuo/p/6042906.html
Copyright © 2011-2022 走看看