• 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

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

  • 相关阅读:
    设计模式---桥接模式
    [东华杯2021] ezgadget
    OKR vs. 任务:OKR与任务管理有何不同?
    目标跟踪ZoomTrack: Target-aware Non-uniform Resizing for Efficient Visual Tracking
    webshell免杀之传参方式
    VS Code安装配置python、C/C++开发环境
    下一站——Java,准备好踏上新征程了?少年!!!!
    友思特案例|友思特 Ensenso 3D相机:汽车工业自动化的革命性力量
    NFT,还是有未来的
    uView教程-骨架屏搭建 #低代码 #小程序 #uView
  • 原文地址:https://blog.csdn.net/sono_io/article/details/133774733