首页 > 数据库 >luasql报错笔记

luasql报错笔记

时间:2022-09-19 00:55:21浏览次数:80  
标签:-- 笔记 luasql lua 报错 usr mysql include

luasql 编译安装

查看mysql配置,注意 lmysqlclient 路径

[root@hmy luasql-master]# mysql_config 
Usage: /usr/bin/mysql_config [OPTIONS]
Options:
        --cflags         [-I/usr/include/mysql]
        --include        [-I/usr/include/mysql]
        --libs           [-L/usr/lib64/mysql -lmysqlclient -lpthread -lz -lm -lssl -lcrypto -ldl]
        --libs_r         [-L/usr/lib64/mysql -lmysqlclient -lpthread -lz -lm -lssl -lcrypto -ldl]
        --plugindir      [/usr/lib64/mysql/plugin]
        --socket         [/var/lib/mysql/mysql.sock]
        --port           [0]
        --version        [5.5.56]
        --libmysqld-libs [-L/usr/lib64/mysql -lmysqld]
        --variable=VAR   VAR is one of:
                pkgincludedir [/usr/include/mysql]
                pkglibdir     [/usr/lib64/mysql]
                plugindir     [/usr/lib64/mysql/plugin]

修改luasql-master安装包里的config

PREFIX ?= /usr/local/apisix/deps
LUA_SYS_VER ?= 5.1
LUA_LIBDIR ?= $(PREFIX)/lib/lua/$(LUA_SYS_VER)
LUA_DIR ?= $(PREFIX)/share/lua/$(LUA_SYS_VER)
LUA_INC ?= $(PREFIX)/include
...
...
DRIVER_LIBS_mysql ?= -L/usr/lib64/mysql -lmysqlclient -lz
DRIVER_INCS_mysql ?= -I/usr/include/mysql
...
...

安装luasql-mysql

[root@hmy luasql-master]# make mysql 
gcc -O2 -std=gnu99 -Wall -Wmissing-prototypes -Wmissing-declarations -pedantic -fPIC  -I/usr/local/apisix/deps/include -DLUASQL_VERSION_NUMBER='"2.6.0"'  -c src/luasql.c -o src/luasql.o
gcc -O2 -std=gnu99 -Wall -Wmissing-prototypes -Wmissing-declarations -pedantic -fPIC  -I/usr/local/apisix/deps/include -DLUASQL_VERSION_NUMBER='"2.6.0"'  src/ls_mysql.c -o src/mysql.so -shared src/luasql.o -I/usr/include/mysql -L/usr/lib64/mysql -lmysqlclient -lz
[root@hmy luasql-master]# make install
mkdir -p /usr/local/apisix/deps/lib/lua/5.1/luasql
cp src/*.so /usr/local/apisix/deps/lib/lua/5.1/luasql

安装完成后,执行apisix reload,报错内容如下:

2022/09/19 00:22:50 [error] 119935#119935: *11035303 [lua] plugin.lua:103: load_plugin(): failed to load plugin [sfimplat-auth] err: attempt to index a nil value, context: init_worker_by_lua*
2022/09/19 00:22:50 [error] 119933#119933: *11035302 [lua] plugin.lua:103: load_plugin(): failed to load plugin [sfimplat-auth] err: attempt to index a nil value, context: init_worker_by_lua*

一开始我以为是安装问题,反复检查重复安装很久才发现,是局部变量、全局变量问题
例如:

[root@hmy luasql]# lua
Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> require "luasql.mysql"
> local luasql = require("luasql.mysql")
> local env = assert(luasql.mysql())
stdin:1: attempt to index global 'luasql' (a nil value)
stack traceback:
        stdin:1: in main chunk
        [C]: ?

但如果这样写就没问题了

local luasql = require("luasql.mysql")

env = assert(luasql.mysql())
--连接数据库
conn = env:connect("数据库名","用户名","密码","IP地址",端口)

--设置数据库的编码格式
conn:execute"SET NAMES UTF8"

--执行数据库操作
cur = conn:execute("select * from tb_users where username='test'")

row = cur:fetch({}, "a")
core.log.error(core.json.encode(row))

标签:--,笔记,luasql,lua,报错,usr,mysql,include
From: https://www.cnblogs.com/cherylgi/p/16706398.html

相关文章

  • CSS 笔记
    CSSCSS,或CascadingStyleSheets(层叠样式表或级联样式表),用来给浏览器添加样式。引入CSS的方式Import内联InlineStyle使用style属性来引入CSS<h1style="col......
  • npm yarn 报错
    目录npmyarn报错yarn:无法加载文件npmyarn报错yarn:无法加载文件win10系统,yarn:无法加载文件C:\Users\丽丽小可爱\AppData\Roaming\npm\yarn.ps1,因为在此系统上......
  • 计算机网络-自顶向下方法(读书笔记)
    Chapter1计算机网络与因特网: 现在的intenet,计算机网络,现在已经是各种计算机与非传统设备联系的网络,这些设备应该称为主机(host)和端系统(endsystem);端系统(en......
  • tracer ftrace笔记(7)—— Perfetto简介
    一、Perfetto简介1.Perfetto支持多种数据来源,systrace、atrace、sysstat、HeapProfiles、logcat.也支持动态配置和定制。2.PerfettoUI一些常见的表述(1)slice:......
  • 统计学习方法学习笔记-07-支持向量机03
    包含对三种支持向量机的介绍,包括线性可分支持向量机,线性支持向量机和非线性支持向量机,包含核函数和一种快速学习算法-序列最小最优化算法SMO。非线性支持向量机与核函数......
  • Consul 笔记
    Consul运行Consuldockerrun-d-p8500:8500--restart=always--name=consulconsul:latestagent-server-bootstrap-ui-node=1-client='0.0.0.0'API的代码u......
  • 《汇编指令》-学习笔记-4
    注:本文档为“《汇编语言(第3版)》王爽著”阅读过程中记的笔记。参考视频:通俗易懂的汇编语言(王爽老师的书)_哔哩哔哩_bilibili12内中断中断信息可以来自CPU的内部和外部......
  • 20201302姬正坤第十章学习笔记
    第三周学习笔记第十章第十章的主要内容是研究sh编程。对于sh编程的介绍分为以下几个方面:sh脚本与C程序sh脚本的编写sh控制语句sh汉书知识点归纳:经过一整章的......
  • 《信息安全系统设计与实现学习笔记3》
    一、知识点归纳以及自己最有收获的内容1、知识点归纳总结一下一门程序设计语言有哪些必备的要素和技能?这些要素和技能在shell脚本中是如果呈现出来的?程序设计语言有3个......
  • 第十章学习笔记
    第十章的主要内容是sh编程,包括以下几个方面:sh脚本和不同版本sh比较了sh脚本和C程序sh变量、sh语句、sh内置命令、常规系统命令和命令替换sh控制语句sh函数编写以及使......