MySQL 5.7版本说明
嵌入式MySQL服务器库使得在客户端应用程序中运行功能齐全的MySQL服务器成为可能。主要的好处是提高了嵌入式应用程序的速度和更简单的管理。
请注意
的libmysqld
嵌入式服务器库在MySQL 5.7.19中已弃用,并在MySQL 8.0中被移除。
嵌入式服务器库基于MySQL的客户端/服务器版本,它是用C/ c++编写的。因此,嵌入式服务器也是用C/ c++编写的。没有其他语言的嵌入式服务器可用。
嵌入式MySQL版本和客户端/服务器版本的API是相同的。要更改线程应用程序以使用嵌入式库,通常只需添加对以下函数的调用。
表27.2 MySQL嵌入式服务器库函数
函数 |
什么时候打电话 |
---|---|
在调用任何其他MySQL函数之前调用它,最好是在 |
|
在程序退出之前调用它。 |
|
在创建访问MySQL的每个线程中调用它。 |
|
mysql_thread_end () |
打电话之前先打电话pthread_exit () . |
然后,将代码链接到libmysqld.a
而不是libmysqlclient.a
.为了确保应用程序和服务器库之间的二进制兼容性,总是根据用于编译服务器库的同一系列MySQL的头文件来编译应用程序。例如,如果libmysqld
是根据MySQL 5.6头文件编译的,不要根据MySQL 5.7头文件编译你的应用程序,反之亦然。
因为mysql_library_
函数也包括在xxx
()libmysqlclient.a
,您只需将应用程序链接到正确的库,就可以在嵌入式版本和客户端/服务器版本之间进行更改。看到mysql_library_init ().
嵌入式服务器和独立服务器之间的一个区别是,对于嵌入式服务器,连接的身份验证在默认情况下是禁用的。