在Linux中使用c的api访问mysql

一 .在Linux中安装MySQL

先更新系统软件包

sudo apt update

更新完成之后就可以安装mysql了

安装mysql服务器

sudo apt install mysql-server

在安装过程中,系统将提示您创建root密码。选择一个安全的,并确保记住它,因为后面需要用到这个密码。

安装mysql客户端

sudo apt-get install mysql-client

mysql-server 和mysql-client的区别

mysql-server 和 mysql-client 是 MySQL 数据库管理系统的两个不同的软件包,它们扮演着不同的角色。

mysql-server:

MySQL 服务器端软件,用于提供数据库服务。
安装并配置后,可以在服务器上运行 MySQL 数据库服务,允许其他客户端连接并进行数据库操作。
管理数据库、创建表、插入、修改、查询数据、管理用户等都是在服务器端完成的。
mysql-client:

MySQL 客户端软件,用于连接并操作 MySQL 数据库服务器。
安装后,可以使用命令行工具 mysql 或其他第三方工具(如 Navicat、MySQL Workbench、PHPMyAdmin 等)连接到 MySQL 服务器,进行数据库操作。
如果你只需要连接到数据库服务器并执行查询,而不需要在服务器端运行数据库服务,那么只安装 mysql-client 就足够了。
总之,mysql-server 和 mysql-client 是 MySQL 系统的两个重要组成部分,它们在数据库管理中扮演着不同的角色。如果你需要在本地运行数据库服务,需要安装 mysql-server,而如果你只需要连接到数据库服务器并进行操作,安装 mysql-client 就足够了。

测试MySQL

systemctl status mysql.service

如果显示如图所示这个就证明MySQL已经在运行了

如果不是

sudo service mysql start
或
sudo systemctl start mysql.service

就要使用这段代码来将MySQL改为运行状态

MySQL的配置文件

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

打开配置文件,找到bind-address = 127.0.0.1这一行

将其注释掉或者改成0.0.0.0也可以

修改完之后按Esc键退出编辑模式在输入:wq即可保存修改

二.MySQL用户的创建与授权

使用root用户登录MySQL

# 登录mysql并输入密码
mysql -u root -p
 
# mysql 修改密码方式
alter user 'root'@'localhost' identified by '这里填你要改成的密码';

创建新用户

create user 'user'@'host' identified by '你要设置的密码';

user:你将创建的用户名
host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%(初学者建议使用通配符)

用户授权

grant all on database.* to 'user'@'%';

database:数据库,是给该user用户在这个数据库里授权

user:前面创建的用户名

刷新授权

flush privileges;

这句表示从mysql数据库的grant表中重新加载权限数据,因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。不重新加载可能可能无法成功。

使用新用户登录数据库

mysql -u user -p

输入密码之后即可连接

创建数据库

create database hr;

三.使用vscode远程连接Ubuntu

打开vscode进行远程连接

Ubuntu中要提前安装ssh,不知道怎么安装的可以看我2024-05-21发的作品当中就介绍了如何安装

在这个界面的最左下角

选第二个将当前窗口连接到主机...

ssh user@ip

user:Ubuntu中的的用户名(不是MySQL的那个不要搞混了)

@Ubuntu前面的这个

ip:使用ifconfig语句查找的

ifconfig

输入Ubuntu的密码就可以正常连接成功了

当右下角显示ssh:加ip就证明连接成功了,这个时候就已经可以在vscode中使用Linux了

显示终端

 

这三个点就是可以创建新的终端

安装MySQL开发库

直接在vscode中新开终端

sudo apt install libmysqlclient-dev

 四.使用C API 访问 MySQL

在终端新建一个文件夹

mkdir cpp;

新建文件

访问MySQL

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

int main(int argc, char const *argv[])
{
    // 数据库连接
    MYSQL *conn;

    char *host = "localhost";
    char *user = "foo";
    char *passwd = "666666";
    char *db = "hr";
    int port = 3306;

    // 初始化连接
    conn = mysql_init(NULL);

    // 建立连接
    conn = mysql_real_connect(conn, host, user, passwd, db, port, NULL, 0);

    // TODO 执行各种操作
    if (conn)
    {
        printf("连接成功\n");
    }
    else
    {
        printf("连接失败。\n");
        return EXIT_FAILURE;
    }
    

    // 关闭连接
    mysql_close(conn);

    return 0;
}

 编译文件

cc my.c -o my -lmysqlclient

 运行

./my

 

五. 总结

本篇文章到这里就结束了,如果这篇文章对你有所帮助,请多多评论,点赞,收藏。我本身也是个初学者,文章中有什么不对的地方,欢迎大家批评指正。谢谢大家!

  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值