码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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

    1. #include
    2. #include
    3. #include "mysql/mysql.h"
    4. using namespace std;
    5. int main()
    6. {
    7. cout << "hello" << endl;
    8. MYSQL* mysql = mysql_init(NULL);
    9. if (mysql == NULL)
    10. {
    11. printf("mysql init error;\n");
    12. return -1;
    13. }
    14. mysql = mysql_real_connect(mysql, "localhost", "root", "123456", "data", 0,NULL, 0);
    15. if (mysql == NULL)
    16. {
    17. printf("mysql connect error \n");
    18. return -2;
    19. }
    20. printf("mysql api1 : %s\n", mysql_character_set_name(mysql));
    21. mysql_set_character_set(mysql, "utf8");
    22. printf("mysql api2 : %s\n", mysql_character_set_name(mysql));
    23. const char* sql = "select * from user";
    24. int ret = mysql_query(mysql, sql);
    25. if (ret != 0)
    26. {
    27. printf("mysql_query failed! %s\n", mysql_error(mysql));
    28. return -1;
    29. }
    30. MYSQL_RES* res = mysql_store_result(mysql);
    31. if (res == NULL)
    32. {
    33. printf("mysql_store_result failed! %s\n", mysql_error(mysql));
    34. return -1;
    35. }
    36. int num = mysql_num_fields(res);
    37. MYSQL_FIELD* fields = mysql_fetch_fields(res);
    38. for (int i = 0; i < num; i++)
    39. {
    40. printf("%s\t\t", fields[i].name);
    41. }
    42. printf("\n");
    43. MYSQL_ROW row;
    44. while ((row = mysql_fetch_row(res)) != NULL)
    45. {
    46. for (int i = 0; i < num; i++)
    47. {
    48. printf("%s\t\t", row[i]);
    49. }
    50. printf("\n");
    51. }
    52. mysql_free_result(res);
    53. return 0;
    54. }

    这里我包含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

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

  • 相关阅读:
    idea显示maven或者gradle无法从仓库获取到项目中的jar包,jar包所在仓库无法访问解决方法,百试百灵
    ts如何使用class类?与js的class类有什么区别?
    智能网联赋能汽车品牌全球化 第五届全球汽车发展趋势论坛将召开
    数据库SQL练习
    Scala
    React实现在线预览word报告/本地选择报告预览
    [技术发展-28]:信息通信网大全、新的技术形态、信息通信行业高质量发展概览
    「影视解说」三联屏封面超详细制作方法,全网最简单三连视频封面
    C++ Memory Order 理解
    kafka基础(2):kafka quickstart
  • 原文地址:https://blog.csdn.net/sono_io/article/details/133774733
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号