MySQL 是一個流行的開源關系數據庫管理系統,常用于支持許多 Web 應用程序的后端。而嵌入式 Linux 系統則可以在諸如 Raspberry Pi 和 BeagleBone Black 等小型計算機上運行。在這篇文章中,我們將討論如何在嵌入式 Linux 系統中使用 MySQL。
$ sudo apt-get install mysql-server
首先,我們需要在嵌入式 Linux 系統中安裝 MySQL 服務器。使用以下命令在 Raspberry Pi 上安裝:
$ sudo apt-get install libmysqlclient-dev
如果您的應用程序需要與 MySQL 進行通信,則還需要安裝 MySQL 客戶端庫。在 Raspberry Pi 上使用以下命令安裝:
#include <mysql/mysql.h>
...
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "localhost";
char *user = "root";
char *password = "password"; /* set me first */
char *database = "database";
conn = mysql_init(NULL);
/* Connect to database */
if (!mysql_real_connect(conn, server,
user, password, database, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
/* send SQL query */
if (mysql_query(conn, "show tables")) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn);
/* output table name */
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s \n", row[0]);
/* close connection */
mysql_free_result(res);
mysql_close(conn);
接下來,我們將討論如何在嵌入式 Linux 系統中使用 C 語言編寫的應用程序與 MySQL 進行通信。以下是一個簡單應用程序,它連接到本地 MySQL 服務器并顯示數據庫中的表的名稱:
此示例程序首先使用 mysql_init() 函數初始化 MySQL 連接對象。然后,使用 mysql_real_connect() 函數連接到 MySQL 服務器。這需要傳遞服務器地址、用戶名、密碼和要連接的數據庫的名稱。在連接成功后,應用程序可以向服務器發送 SQL 查詢。在此示例中,應用程序查詢數據庫中的所有表名。MySQL 查詢結果使用 mysql_use_result() 函數返回。然后,應用程序使用 mysql_fetch_row() 函數迭代結果并打印每個表的名稱。最后,應用程序釋放查詢結果并使用 mysql_close() 函數關閉連接。
這是一個簡單但有用的示例,可供您在嵌入式 Linux 系統中開始使用 MySQL。