mysql 5.7以下的版本如何添加json数据结构

mysql5.7+的版本已经内部支持json,然后很多生产环境的mysql还是5.7以下的版本,但需求中要使用JSON,又不想升级mysql版本,毕竟运行稳定的系统没有必要承担升级风险。那如何在5.7以下的版本中使用json呢,下面介绍加入lib_mysqludf_json的方法。\sum \epsilon

1.安装mysqlClinet-dev

如果系统中没有安装libmysqlclient-dev,编译时会找不到mysql_config文件。

先安装libmysqlclient-dev:

(1)ubuntu64bit:apt-get install  libmysqld-dev libmysqlclient-dev

(2)CentOS64bit:yum install mysql-devel

2.安装MySql-Json-Udf

(1)获取MySql-Json-Udf,下载地址:

(2)上传到服务器后,解压文件,并完成编译

unzip lib_mysqludf_json-master.zip
cd lib_mysqludf_json-master
mv lib_mysqludf_json.so  lib_mysqludf_json.so_bak
gcc $(mysql_config --cflags) -shared -fPIC -o lib_mysqludf_json.so lib_mysqludf_json.c

(3)将lib_mysqludf_json.so复制到mysql的plugin目录下。

在mysql 里查看安装目录可以用: whereis mysql

cp lib_mysqludf_json.so /usr/lib/mysql/plugin/

(4)配置MySql,创建json-udf函数

create function lib_mysqludf_json_info returns string soname 'lib_mysqludf_json.so';
create function json_array returns string soname 'lib_mysqludf_json.so';
create function json_members returns string soname 'lib_mysqludf_json.so';
create function json_object returns string soname 'lib_mysqludf_json.so';
create function json_values returns string soname 'lib_mysqludf_json.so';

(5)验证

create database test; 
use test;
create table `users`(  
`uid` int(11) unsigned,  
`username` varchar(40) NOT NULL,  
`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  
PRIMARY KEY(`uid`)  
);
insert into `users` values(1,'lisi',null); 
select json_array(uid,username,addtime) as u from users; 
select json_array(uid,json_array(username),addtime) as u from users;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值