Linux下C连接MYSQL

0x00序

Linux下C连接MYSQL环境主要包括两部分。C环境部分和MYSQL环境部分。其中C可以用VIM作代码编辑器,GCC作编译器。下面主要提出MYSQL安装过程和代码示例。

0x01 MYSQL安装

该部分主要包括mysql-server的安装和mysql-devel安装。其中,mysql-server为服务端。mysql-devel主要为C程序提供头文件和静态链接库。有解释说明:如果不做C开发,可以不装,其他任何的-devel包同理。
Ubuntu 18.04 LTS下安装mysql-server和mysql-devel的安装命令如下:

sudo apt install mysql-server
sudo apt install mysql-devel

在安装mysql-server的过程中如遇到mysql不提设置密码,首先查看mysql服务是否正在运行,进而可以查看mysql配置目录的默认密码,并利用默认密码进行root密码的设置。
mysql服务状态、端口查询命令为

sudo service mysql status
sudo netstat -tap | grep mysql

默认密码配置文件在/etc/mysql/debian.cnf中。

利用默认的用户名密码登陆mysql,执行mysql命令修改root 密码,主要分为三步。
1)更改密码设置

update mysql.user set plugin="mysql_native_password" where user ="root";

2)设置root密码

update mysql.user set authentication_string=password('这是是要设置的密码') where user='root' and host='localhost';
flush privileges;

3)重启MYSQL服务

sudo service mysql restart

服务启动停止则分别为

sudo service mysql start
sudo service mysql stop

状态查看

0x02 MYSQL卸载

MYSQL卸载如下:

sudo apt purge mysql-*
sudo rm -rf /etc/mysql/  /var/lib/mysql
sudo apt autoremove

0x03 C语言示例

新建test.c内容如下:

   #include <stdio.h>
   #include <stdlib.h>
   #include <mysql.h>
  
   int main(void)
   {
           MYSQL *conn = mysql_init(NULL);
           conn = mysql_real_connect(conn, "localhost", "root", "你的root密码", "数据库名称", 0, NULL, 0);
           if(!conn){
                  perror("mysql_real_connect");
                  exit(1);
          }
  
          int res = mysql_query(conn, "select * from test");
          if(res){
                  printf("mysql_query: %s\n", mysql_error(conn));
                  exit(1);
          } else {
                  MYSQL_RES *result = mysql_store_result(conn);
                  if(result) {
                      for(int i = 0; i < mysql_num_rows(result); i++) {
                          MYSQL_ROW row = mysql_fetch_row(result);
                          for(int j = 0; j < mysql_num_fields(result); j++){
                              printf("%s\t", row[j]);
                          }
                          printf("\n");
                      }
                  }
                  mysql_free_result(result);
          }
  
          mysql_close(conn);
          return 0;
  }

GCC编译命令如下:

gcc test.c -o test $(mysql_config --cflags --libs)

echo 查看 ( m y s q l c o n f i g − − c f l a g s ) 和 (mysql_config --cflags)和 (mysqlconfigcflags)(mysql_config --libs)如下:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值