返回

Linux操作系统下的数据库安装配置及数据库C程序连接详解

后端

一、数据库的安装和配置

1. 数据库的安装

1.1 MySQL安装

sudo apt-get update
sudo apt-get install mysql-server

1.2 PostgreSQL安装

sudo apt-get update
sudo apt-get install postgresql

2. 配置

2.1 MySQL配置

sudo /etc/init.d/mysql start
sudo mysql_secure_installation

2.2 PostgreSQL配置

sudo /etc/init.d/postgresql start
sudo su - postgres
psql

3. 常用命令

3.1 MySQL常用命令

CREATE DATABASE:创建数据库
USE DATABASE:使用数据库
SHOW DATABASES:显示所有数据库
SHOW TABLES:显示当前数据库中的所有表
DESCRIBE TABLE:显示表的结构
INSERT INTO:向表中插入数据
SELECT * FROM:从表中选择所有数据
WHERE:过滤数据
UPDATE:更新数据
DELETE:删除数据

3.2 PostgreSQL常用命令

CREATE DATABASE:创建数据库
\c DATABASE:连接到数据库
\l:显示所有数据库
\d:显示当前数据库中的所有表
\d TABLE:显示表的结构
INSERT INTO:向表中插入数据
SELECT * FROM:从表中选择所有数据
WHERE:过滤数据
UPDATE:更新数据
DELETE:删除数据

4. 用户管理与授权

4.1 MySQL用户管理与授权

CREATE USER:创建用户
GRANT:授予权限
REVOKE:撤销权限
FLUSH PRIVILEGES:刷新权限

4.2 PostgreSQL用户管理与授权

CREATE USER:创建用户
GRANT:授予权限
REVOKE:撤销权限
ALTER ROLE:修改角色的权限

二、数据库C程序连接

1. 安装C/C++开发库

sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install libmysqlclient-dev
sudo apt-get install libpq-dev

2. C语言访问mysql

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mysql.h>

int main() {
  MYSQL *con = mysql_init(NULL);

  if (mysql_real_connect(con, "localhost", "root", "", "test", 0, NULL, 0) == NULL) {
    fprintf(stderr, "%s\n", mysql_error(con));
    mysql_close(con);
    exit(1);
  }

  MYSQL_RES *res = mysql_store_result(con);

  MYSQL_ROW row;

  while ((row = mysql_fetch_row(res)) != NULL) {
    printf("%s\n", row[0]);
  }

  mysql_free_result(res);
  mysql_close(con);

  return 0;
}

3. 测试C语言连接数据库

gcc -o test test.c -lmysqlclient
./test

如果输出结果为:

1
2
3

则表示C语言程序成功连接到了数据库。