如何为嵌入式 MySQL 数据库创建和初始化架构?

xen*_*ide 6 mysql embedded perl

我想创建一个嵌入式 MySQL 数据库来运行测试,但我不知道该怎么做。

  • 如何初始化数据库?
  • 如何运行我的创建表语句?

我正在使用 Perl,所以它需要用一种语言而不是几个命令来完成。

Rol*_*DBA 2

以下是 C/C++ API 中的函数

  • mysql_library_init():应该在调用任何其他 MySQL 函数之前调用,最好是在 main() 函数的早期调用。
  • mysql_library_end():应该在程序退出之前调用。
  • mysql_thread_init():应该在您创建的访问 MySQL 的每个线程中调用。
  • mysql_thread_end():应该在调用 pthread_exit() 之前调用

就我个人而言,我到处寻找与这些可打开嵌入式 MySQL 服务器的 C/C++ API 调用等效的 Perl。显然,Perl API 不存在。

以下是dev.mysql.com 的摘录,验证了这一点:

嵌入式 MySQL 服务器库使得在客户端应用程序内运行功能齐全的 MySQL 服务器成为可能。主要好处是提高了嵌入式应用程序的速度和更简单的管理。

嵌入式服务器库基于MySQL的客户端/服务器版本,用C/C++编写。因此,嵌入式服务器也是用 C/C++ 编写的。没有其他语言可用的嵌入式服务器

您可能需要自己手动触发 mysql 的启动,如下所示:

@args = {"/sbin/service","mysql","status"};
$rc = 0xFFFF & system(@args);
if ( $rc != 0 ) {
    @args = {"/sbin/service","mysql","start"};
    system(@args) == 0 or die "mysql start failed : $?";
}
Run Code Online (Sandbox Code Playgroud)