官方倉庫版本過舊,且需特定 Lua 版本支援。作者嘗試 yum 與手動指定 PKG_CONFIG_PATH 均失敗,最終參考官方 Wiki 成功編譯。
官方 Wiki 配置:
./configure --prefix=/opt/MySQL-proxy --with-lua \
LDFLAGS="-lm -ldl" \
LUA_CFLAGS="-I/opt/lua/include" \
LUA_LIBS=/opt/lua/lib/liblua.la
報錯:libtool: link: cannot find the library `/opt/lua/lib/liblua.la'
修正:改用 .a 靜態庫
LUA_LIBS=/opt/lua/lib/liblua.a
Requested 'glib-2.0 >= 2.16.0' but version of GLib is 2.12.3
# 1. 安裝依賴
yum install -y lua-devel glib2-devel libevent-devel mysql-devel
# 2. 下載原始碼
wget https://dev.mysql.com/get/Downloads/MySQL-Proxy/mysql-proxy-0.8.5.tar.gz
tar xzf mysql-proxy-0.8.5.tar.gz
cd mysql-proxy-0.8.5
# 3. 配置(關鍵:LUA_LIBS 指向 .a)
./configure --prefix=/opt/mysql-proxy --with-lua \
LDFLAGS="-lm -ldl" \
LUA_CFLAGS="-I/usr/include/lua5.1" \
LUA_LIBS=/usr/lib64/liblua.a
# 4. 編譯安裝
make -j$(nproc)
make install
# 5. 驗證
/opt/mysql-proxy/bin/mysql-proxy --version
systemd 管理服務,配置 Restart=on-failure/opt/mysql-proxy/share/lua/,掛載只讀.la 是 libtool 封裝檔,非實際庫檔 → 改用 .a 或 .soPKG_CONFIG_PATH 需指向 .pc 檔目錄,非庫檔目錄