安装 MySQL 服务器和连接库
第一步是安装 MySQL 服务器和连接 C 语言的库。对于 Windows 系统,可以从 MySQL 官方网站下载并安装。对于 Linux 系统,可以通过包管理器安装:
bash
Debian/Ubuntu
sudo apt-get update
sudo apt-get install mysql-server libmysqlclient-dev
CentOS/Red Hat
sudo yum update
sudo yum install mysql-server mysql-devel
配置 MySQL 服务器
安装完成后,需要配置 MySQL 服务器。启动服务器并使用 root 用户登录:
bash
sudo service mysql start
mysql -u root -p
创建用于连接数据库的数据库和用户:
sql
CREATE DATABASE database_name;
GRANT ALL PRIVILEGES ON database_name.* TO 'user_name'@'host_ip' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
其中, database_name 是要创建的数据库名称, user_name 是要创建的用户名, password 是密码, host_ip 是允许连接的 IP 地址(可以设置为 % 允许所有 IP)。
C 语言连接数据库
在 C 语言中连接 MySQL 数据库需要使用连接库。对于 Linux 系统,通常使用 libmysqlclient ,对于 Windows 系统可以使用 mysql.h 头文件。
c
include
// 连接数据库
MYSQL *mysql_init(void);
MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long client_flag);
// 执行查询
int mysql_query(MYSQL *mysql, const char *query);
// 获取查询结果
MYSQL_RES *mysql_store_result(MYSQL *mysql);
// 获取查询结果中的行
MYSQL_ROW mysql_fetch_row(MYSQL_RES *res);
// 关闭连接
void mysql_close(MYSQL *mysql);
示例代码
以下是一个连接 MySQL 数据库并执行查询的示例代码:
c
include
int main() {
// 连接数据库
MYSQL *mysql = mysql_init(NULL);
if (!mysql_real_connect(mysql, "localhost", "user_name", "password", "database_name", 0, NULL, 0)) {
printf("Connection failed: %s\n", mysql_error(mysql));
return 1;
}
// 执行查询
if (mysql_query(mysql, "SELECT * FROM table_name")) {
printf("Query failed: %s\n", mysql_error(mysql));
mysql_close(mysql);
return 1;
}
// 获取查询结果
MYSQL_RES *res = mysql_store_result(mysql);
// 遍历结果
MYSQL_ROW row;
while ((row = mysql_fetch_row(res))) {
// 处理查询结果
printf("%s %s\n", row[0], row[1]);
}
// 关闭连接
mysql_close(mysql);
return 0;
}
通过这段代码,可以连接到 MySQL 数据库并执行一个 SELECT 查询,然后打印查询结果。