linux C++ vscode连接mysql

news2024/11/18 12:19:50

1.linux使用Ubuntu

2.Ubuntu安装vscode

2.1 安装的是snap版本,直接打开命令行执行

sudo snap install --classic code

 3.vscode配置C++

3.1 直接在扩展中搜索C++安装即可

 我安装了C++, Chinese, code runner, 安装都是同理

4.安装mysql

sudo apt update
sudo apt install mysql-server
sudo systemctl start mysql.service

 安装好后, 需要对root修改密码

sudo mysql

 执行后可以无密码进入

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

执行后可以修改密码,如果需要设置简单密码,需要把密码安全等级设置为low

 // 如果需要远程连接, 需要把root用户权限范围改为%

5.vscode C++ 连接mysql

#include <stdio.h>
#include <iostream>
#include "mysql/mysql.h"

using namespace std;

int main()
{

    cout << "hello" << endl;
    MYSQL* mysql = mysql_init(NULL);
    if (mysql == NULL)
    {
        printf("mysql init error;\n");
        return -1;
    }
    mysql = mysql_real_connect(mysql, "localhost", "root", "123456", "data", 0,NULL, 0);
    if (mysql == NULL)
    {
        printf("mysql connect error \n");
        return -2;
    }
    printf("mysql api1 : %s\n", mysql_character_set_name(mysql));
    mysql_set_character_set(mysql, "utf8");
    printf("mysql api2 : %s\n", mysql_character_set_name(mysql));
    const char* sql = "select * from user";
    int ret = mysql_query(mysql, sql);
    if (ret != 0)
    {
        printf("mysql_query failed! %s\n", mysql_error(mysql));
        return -1;
    }
    MYSQL_RES* res = mysql_store_result(mysql);
    if (res == NULL)
    {
        printf("mysql_store_result failed! %s\n", mysql_error(mysql));
        return -1;
    }
    int num = mysql_num_fields(res);
    MYSQL_FIELD* fields = mysql_fetch_fields(res);
    for (int i = 0; i < num; i++)
    {
        printf("%s\t\t", fields[i].name);
    }
    printf("\n");
    MYSQL_ROW row;
    while ((row = mysql_fetch_row(res)) != NULL)
    {
        for (int i = 0; i < num; i++)
        {
            printf("%s\t\t", row[i]);
        }
        printf("\n");
        
    }
    mysql_free_result(res);
    
    
    return 0;
}

这里我包含mysql头文件时候, 提示错误信息找不到mysql头文件

解决办法:

sudo apt-get install libmysqlclient-dev

 编译文件时需要连接mysql的库

g++ main.cpp -o main -I /usr/include/mysql -L /usr/lib/x86_64-linux-gnu -lmysqlclient

测试成功, 操作细节不是很到位, 下次再装的时候, 再更新

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1082154.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【算法】双向冒泡排序

// // Created by Lunau on 2023/10/11. // #include<stdio.h> #include <cstdlib>void swap(int &i,int &j) {int tp i;i j;j tp; }/*** 双向冒泡排序&#xff0c;采用双指针* param arr* param len*/ void Sort(int arr[], int len) {int p0, q len-…

干货!SRC漏洞挖掘项目实战经验分享

目录 一、hunter上搜索web.title”nacos”&#xff0c;查找中国境内的资产&#xff0c;定位到两个地址。 二、访问一下8086端口&#xff0c;界面很明显是nacos&#xff0c;直接抓包&#xff0c;创建用户。 三、登录网站&#xff0c;里面看到配置管理。 四、查看下redis.yml…

驾驶数字未来:汽车业界数字孪生技术的崭新前景

随着数字化时代的到来&#xff0c;汽车行业正经历着前所未有的变革。数字孪生技术&#xff0c;作为一种前沿的数字化工具&#xff0c;正在为汽车行业带来革命性的影响&#xff0c;不仅改变着汽车制造和维护的方式&#xff0c;也为消费者带来了前所未有的体验。让我们一起探讨&a…

许战海战略文库|无增长则衰亡:中小型制造企业增长困境

竞争环境不是匀速变化&#xff0c;而是加速变化。企业的衰退与进化、兴衰更迭在不断发生&#xff0c;这成为一种不可避免的现实。事实上&#xff0c;在产业链竞争中增长困境不分企业大小&#xff0c;而是一种普遍存在的问题&#xff0c;许多收入在1亿至10亿美元间的制造企业也同…

【WSN】模拟无线传感器网络研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【python海洋专题十七】读取几十年的OHC数据,画四季图

本期内容 读取多年数据&#xff0c;画四季图 Part01. 多年数据处理 图片 多年年平均的OHC分布 图片 春夏秋冬&#xff1a; ohc_all_new np.reshape(ohc_new, (12, 80, 29, 27), order‘C’) ohc_all_season_mean np.mean(ohc_all_new, axis1) ohc_season np.reshape(o…

移动网络 为何ping 不通自己的公网 IP?

移动网络 ping 不通自己的公网 ip&#xff0c;显示请求超时怎么办&#xff1f; 题主所谓的公网IP&#xff0c;并没有配置在任何主机的TCP/IP协议栈上&#xff0c;所以Ping不通。在浩瀚的互联网上去寻找答案&#xff0c;包括ChatGPT机器人&#xff0c;答案就是“禁Ping了“。可…

js数组按照id删除

1.使用filter()方法实现JavaScript数组id删除 &#xff08;该方法写在methods里面&#xff09; DelSkill(row){ console.log(row,"ww"); this.personSkillTableData this.personSkillTableData.filter(item > item.skillId ! row.skillId) }, 在上述代码中&am…

2023年天猫双11:草柴APP如何找到2023天猫双十一优惠券怎么领取使用?

2023年天猫双11活动整体分为三波&#xff0c;第一波为现货售卖&#xff0c;第二波为双11红包雨&#xff0c;第三波为尾款支付。2023天猫双十一可参加活预售、满减、红包、优惠券。具体如何使用草柴APP找到2023天猫双11要购买商品的优惠券&#xff0c;请查看详细教程。 草柴APP如…

十六、代码校验(1)

本章概要 测试 单元测试JUnit测试覆盖率的幻觉 你永远不能保证你的代码是正确的&#xff0c;你只能证明它是错的。 让我们先暂停编程语言特性的学习&#xff0c;看看一些代码基础知识。特别是能让你的代码更加健壮的知识。 测试 如果没有测试过&#xff0c;它就是不能工作的…

EPLAN_003#常用功能(三)

一、图形编辑 按空格键结束 二、对象捕捉、设计模式 设计模式类似于CAD中 基于基准点 复制等功能 三、比例缩放、拉伸、修剪、修改长度、圆角、倒角 四、标注 五、窗口宏、符号宏&#xff08;在编辑菜单中&#xff0c;或者右键&#xff09; 快捷键&#xff1a;CTRLF5 打开的时候…

Matlab之数组、包含分配给类别的值函数categorical

一、功能 categorical 是为一组有限的离散类别&#xff08;例如 High、Med 和 Low&#xff09;赋值的数据类型。这些类别可以采用您指定的数学排序&#xff0c;例如 High > Med > Low&#xff0c;但这并非必须。分类数组可用来有效地存储并方便地处理非数值数据&#xf…

2023-10-11 LeetCode每日一题()

2023-10-11每日一题 一、题目编号 2512. 奖励最顶尖的 K 名学生二、题目链接 点击跳转到题目位置 三、题目描述 给你两个字符串数组 positive_feedback 和 negative_feedback &#xff0c;分别包含表示正面的和负面的词汇。不会 有单词同时是正面的和负面的。 一开始&…

ROS学习笔记(六)---服务通信机制

1. 服务通信是什么 在ROS中&#xff0c;服务通信机制是一种点对点的通信方式&#xff0c;用于节点之间的请求和响应。它允许一个节点&#xff08;服务请求方&#xff09;向另一个节点&#xff08;服务提供方&#xff09;发送请求&#xff0c;并等待响应。 服务通信机制在ROS中…

极坐标和直角坐标的积分转换

如下图所示&#xff0c;当 θ 不变&#xff0c; ρ 增大为 ρ Δ ρ ( 即 ρ 1 ) 时 \theta不变&#xff0c;\rho增大为\rho \Delta \rho(即\rho_1)时 θ不变&#xff0c;ρ增大为ρΔρ(即ρ1​)时, 面积的增量为&#xff1a; 1 2 θ ( ρ Δ ρ ) 2 − 1 2 θ ρ 2 θ ρ…

第二章 进程与线程 十九、死锁的概念

目录 一、定义 二、死锁、饥饿和死循环的区别 三、死锁的必要条件 四、死锁的处理策略 五、总结 一、定义 死锁是指两个或多个进程等待对方释放自己所持有的资源&#xff0c;导致所有进程都被阻塞&#xff0c;无法继续执行。这种情况可能会导致系统瘫痪&#xff0c;需要通…

(二)实现Bean属性依赖注入功能【手撸Spring】

一、前言 在上一篇手撸Spring之实现一个简易版IoC容器&#xff0c;我们先把最简单的IoC架子搭了起来&#xff0c;即实现了一个Bean的注入&#xff0c;体会了依赖反转的过程。这里提到的依赖反转&#xff0c;大家肯定非常耳熟了&#xff0c;也就是将业务对Bean的依赖反转了&…

【网络】网络编程——带你手搓简易TCP服务端(echo服务器)+客户端(四种版本)

这里写自定义目录标题 前言正式开始用生活中的例子来讲解TCP服务端和客户端代码讲解服务端基本框架创建套接字 bindlisten监听accept接收连接通信单线程版多进程①版多进程②版多线程版线程池版 客户端 收尾 前言 本篇主要讲解套接字编程&#xff0c;以TCP服务端和客户端为主…

MySQL为什么用b+树

索引是一种数据结构&#xff0c;用于帮助我们在大量数据中快速定位到我们想要查找的数据。 索引最形象的比喻就是图书的目录了。注意这里的大量&#xff0c;数据量大了索引才显得有意义&#xff0c;如果我想要在[1,2,3,4]中找到4这个数据&#xff0c;直接对全数据检索也很快&am…

SP605官方开发板不能扫到链的问题

很早之前的板子&#xff0c;近些天需要重新搞FPGA&#xff0c;所以又拿出来&#xff0c;应该以前都是在win7下开发&#xff0c;现在都win10了&#xff0c;vivado都不支持sp6&#xff0c;所以先得下载一个14.7版本&#xff0c;但是出现了新的问题&#xff0c;就是不能扫到链。 …