我正在开发 MySQL v8.0 的服务器插件(以及 v5.7 的旧插件),我需要安装正确的头文件。我在网上搜索了一下,只找到libmysqlclient-dev
,用于客户端开发。我需要安装服务器开发包,这样我就可以包含诸如 之类的头文件mysql/plugin_auth.h
。
这能做到吗?
答案1
Ubuntu 中的默认存储库默认不包含 MySQL 的服务器开发包,但您可以通过安装 MySQL 源代码来解决此限制。
打开终端并输入:
sudo apt update
sudo apt install build-essential libncurses-dev libssl-dev zlib1g-dev cmake git libboost-all-dev pkg-config bison
git clone https://github.com/mysql/mysql-server.git
这将下载 MySQL 源代码。然后您可以导航到下载 MySQL 源代码的目录,并编译服务器,它将在标准包含目录中安装必要的头文件。
为了使 CMake 正常工作,作者还必须安装 libboost-all-dev 和 pkg-config。此外,在克隆存储库后,作者必须安装 bison 并运行,然后cd <repo>/sql/
感谢Cardinal System 的评论。bison sql_yacc.yy -o sql_yacc.cc -Hsql_yacc.hh
bison sql_hints.yy -o sql_hints.yy.cc -Hsql_hints.yy.hh
MySQL 5.7 将于 2023 年 10 月终止使用。这意味着它将不再收到官方安全更新或错误修复。您可以按照以下步骤在 Ubuntu 22.04 上安装 MySQL 5.7如何在 Ubuntu 18.04、20.04 或更高版本上安装 MySQL 5.7。
您必须使用整个服务器源代码来编译插件,而不仅仅是库和头文件。(来源)