介绍
mysql里的数据格式转成json格式,通常使用php的json扩展实现。如果使用udf,会有更快的速度。
lib_mysqludf_json提供下面功能:
1.可变长度的参数列表允许直接映射
2.自动转义适应json语法
3.NULL处理
字符串null映射到javascript null,数字null映射到java NaN
4.表达式自动映射成json对象成员
5.json成员名称基本的有效性检查
6.json嵌套
lib_mysqludf_json库提供函数有:
- json_array
- json_members
- json_object
- json_values
安装
下面示例使用ubuntu64bit.
安装mysql的时候,需要安装
安装mysql的时候,需要安装
apt-get install libmysqld-dev libmysqlclient-dev
否则会找不到mysql_config文件 。
官网地址:
https://github.com/mysqludf/lib_mysqludf_json
https://github.com/mysqludf/lib_mysqludf_json
查找plugin目录:
show variables like '%plugin%';
# wget https://github.com/mysqludf/lib_mysqludf_json/archive/master.zip
# unzip master.zip
# cd lib_mysqludf_json-master
# mv lib_mysqludf_json.so lib_mysqludf_json.so_bak
# gcc $(/usr/bin/mysql_config --cflags) -shared -fPIC -o lib_mysqludf_json.so lib_mysqludf_json.c
# cp lib_mysqludf_json.so /usr/lib/mysql/plugin/
# mysql -uroot -p -h127.0.0.1
mysql> CREATE FUNCTION json_array RETURNS STRING SONAME 'lib_mysqludf_json.so';
Query OK, 0 rows affected (0.00 sec)
# mv lib_mysqludf_json.so lib_mysqludf_json.so_bak
# gcc $(/usr/bin/mysql_config --cflags) -shared -fPIC -o lib_mysqludf_json.so lib_mysqludf_json.c
# cp lib_mysqludf_json.so /usr/lib/mysql/plugin/
# mysql -uroot -p -h127.0.0.1
mysql> CREATE FUNCTION json_array RETURNS STRING SONAME 'lib_mysqludf_json.so';
Query OK, 0 rows affected (0.00 sec)
使用
验证是否安装成功:
删除函数
建测试表
安装其它函数
本文转自:谢厂节的博客,转载请注明出处
原网址为:http://blog.youkuaiyun.com/xundh/article/details/46133953