当前位置: 首页 > news >正文

linux C++ vscode连接mysql

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.lryc.cn/news/193668.html

相关文章:

  • [资源推荐]langchain、LLM相关
  • hdfs笔记
  • java_方法引用和构造器引用
  • Flink Log4j 2.x使用Filter过滤日志类型
  • Ubuntu下怎么配置vsftpd
  • 链表(7.27)
  • 在 Elasticsearch 中实现自动完成功能 1:Prefix queries
  • 『PyQt5-Qt Designer篇』| 13 Qt Designer中如何给工具添加菜单和工具栏?
  • Android Studio新建项目教程
  • 前端页面布局之【响应式布局】
  • 定制排序小案例
  • 如何设计一个ToC的弹窗
  • Idea执行Pom.xml导入jar包提示sun.misc.BASE64Encoder jar找不到---SpringCloud工作笔记197
  • 大数据面试题:Spark和Flink的区别
  • 2023年9月青少年软件编程(C 语言) 等级考试试卷(二级)
  • 【Wifi】Wifi架构介绍
  • 攻防世界数据逆向 2023
  • 分布式链路追踪如何跨线程
  • 怎样在线修剪音频文件了?【免费,无须注册】
  • iMeta框架使用方法
  • 视频编辑软件 Premiere Pro 2024 macv24.0中文版 (pr2024)
  • C/C++:双向队列的实现
  • MySQL逻辑架构
  • python爬虫练手项目之获取某地企业名录
  • Python —— 接口自动化(1)
  • 【MySQL】关于MySQL升级到8.0版本的实践方案
  • 【Python-Django】基于TF-IDF算法的医疗推荐系统复现过程
  • 车辆车型识别系统python+TensorFlow+Django网页界面+算法模型
  • 小程序如何设置各种时间参数
  • CSS变量 var()的用法