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

一站式网站建设服务网站怎么做登录模块

一站式网站建设服务,网站怎么做登录模块,视频短链接生成器,网站建设推广话术开场白使用MYSQL 提供的C接口来访问数据库,官网比较零碎,又不想全部精读一下,百度CSDN都是乱七八糟的,大部分不可用 官网教程地址 https://dev.mysql.com/doc/connector-cpp/1.1/en/connector-cpp-examples-connecting.html 网上之所以乱七八糟,主要是MYSQL提供了3个接口两个包,使用…使用MYSQL 提供的C接口来访问数据库,官网比较零碎,又不想全部精读一下,百度CSDN都是乱七八糟的,大部分不可用 官网教程地址 https://dev.mysql.com/doc/connector-cpp/1.1/en/connector-cpp-examples-connecting.html 网上之所以乱七八糟,主要是MYSQL提供了3个接口两个包,使用两种语言交叉编程. 可以用GCC编辑C语言调用C接口. 可以用C语言调用C接口. 分别是C 接口, C接口 MYSQLX接口. 三个接口两个包. C包和C包, C包(Connector/C)里面从官网下载, 而C包从MYSQL服务端包里抠出来. C包里面包含JDBC接口和MYSQLX, 怎么JDBC不是JAVA的应用接口吗? 不知道为什么用这4个字母! 今天我们得用JDBC目录下的C接口 C接口文件 libmysqlclient.so, libmysqlclient.a 分静态和动态.从服务端解压LIB获得, 头文件从INCLUDE获得. 另外 开发包可以通过YUM来安装 yum install –y libmysqlclient-dev yum install –y libmysqlcppconn-dev sudo rpm -ivh mysql-connector-c-devel-8.0.20-1.el7.x86_64.rpm --nodeps --force sudo rpm -ivh mysql-connector-c-8.0.20-1.el7.x86_64.rpm --nodeps --force sudo rpm -ivh mysql-connector-c-jdbc-8.0.20-1.el7.x86_64.rpm --nodeps --force   从官网下载 https://downloads.mysql.com/archives/community/ 之所以选择8.0.11 是基于 CENTOS7 环境. C要求比较多 最烦的是OPENSSL的版本,还有GLIBC版本,以及BOOST版本, 太高了还对GCC版本有要求. 升级GCC版本 还得涉及CMAKE,MAKE版本涉及. 这就太扯了,我就是为了这点多巴胺快乐.要我付出那么多痛苦. 这时跟PYTHON没啥区别. 还不如用GO简单! 查看系统对应GLIBC 版本 [rootdsmartlib]$ldd --versionldd (GNU libc) 2.17Copyright (C) 2012 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.Written by Roland McGrath and Ulrich Drepper.查看系统对应的OPENSSL  版本 [sharksharkdbDelBigTable]$openssl version -aOpenSSL 1.0.1e-fips 11 Feb 2013built on: Tue Jun 17 17:23:54 UTC 2014platform: linux-x86_64options: bn(64,64) md2(int) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx) compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -DTERMIO -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE2 -fexceptions -fstack-protector-strong --paramssp-buffer-size4 -grecord-gcc-switches -m64 -mtunegeneric -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASMOPENSSLDIR: /etc/pki/tlsengines:  rdrand dynamic 安装BOOST开发库 [rootsharkdb test_connect_mysql8]# yum install boost-devel已加载插件fastestmirror, langpacksLoading mirror speeds from cached hostfile * base: linux.mirrors.es.net * extras: centos-distro.1gservers.com * updates: opencolo.mm.fcix.net正在解决依赖关系-- 正在检查事务--- 软件包 boost-devel.x86_64.0.1.53.0-28.el7 将被 安装-- 解决依赖关系完成YUM 安装开发库 yum install –y libmysqlclient-dev #C语言接口 yum install –y libmysqlcppconn-dev #C语言接口 一般会安装在这两个目录下 /usr/local/mysql/include/usr/local/mysql/lib 还需要向公共目录安装软链接 ln -s /usr/local/mysql/libmysqlclient.so.18 /usr/lib/libmyqlclient.so 目录不一定正确 可能是 /usr/lib64/mysql/lib...  /usr/sbin/lib/.... 头文件 安装在系统目录下 使用尖挂号 C语言头文件 #include stdio.h#include mysql.h C语言头文件 #include iostream#include mysql_connection.h#include mysql_driver.h#include cppconn/driver.h#include cppconn/resultset.h#include cppconn/statement.h 因为我们通过从官网下载C链接接口,所以不YUM 安装了 进行解压 tar –zxvf 解压后进入两到三级目录查看 可以看到2个子目录 分别是C接口和分布式接口 库目录有3个库文件,加密库LIBCRYPTO.SO ,链接库LIBMYSQLCPPONN.SO LIBSSL.SO库,静态链接库libmysqlcppconn-static.a 另外个MYSQLCPPONN8 忘记干啥子用的.没关系反正不使用它 MYSQL C接口应用 基础需要3个动态链接库就行了 把 INCLUDE 和LIB放入项目目录下 cp -r include/ /home/Project/CPP_MYSQLCp –r lib64/ /home/Project/CPP_MYSQL用VIM 编辑我们的代码,这里我们用双引号 #include iostream #include include/jdbc/mysql_connection.h #include include/jdbc/mysql_driver.h #include include/jdbc/cppconn/driver.h #include include/jdbc/cppconn/resultset.h #include include/jdbc/cppconn/statement.husing namespace std; using namespace sql;int main()  {try {// 创建MySQL连接Driver* driver  get_driver_instance();Connection* con  driver-connect(tcp://192.168.0.62:3306, manjo_lts, tR9zWedofesoeeJf);// 连接到test数据库con-setSchema(lts);// 执行一条查询语句Statement* stmt  con-createStatement();ResultSet* res  stmt-executeQuery(SELECT * FROM lts_cron_job_queue);while (res-next()) {cout  res-getString(job_id)  endl;}// 清理连接资源delete res;delete stmt;delete con;} catch (SQLException e) {cout  SQLException:   e.getErrorCode()     e.what()  endl;}return 0; }          // 内存分配失败 编译命令 [rootsharkdb test_connect_mysql8]# cat makeDebug rm -f nohup.outnohup g -g main.cpp -stdc11 -I ./include -L./lib64 -lmysqlcppconn -lssl -lcrypto -Wl,-rpath,lib64 -o main.exe编译命令解释: -g 带调试信息 -stdc11  使用C11标准 或者高版本stdc17 -I 大写i 表示头文件从当前目录找 -L 动态链接库目录 -l  哪个动态链接库的文件名, 要掐头取尾  mysqlcppconn  ssl crypto -Wl,-rpath,lib64 表示 运行过程中动态库优先搜索目录  本地子目录lib64 -o main.exe 输出可执行文件重点就是 WL,-RPATH 运行时候先从程序所在的目录下找动态库 运行OK [rootsharkdb test_connect_mysql8]# ./main.exe E3786A77EE4745719884FB6145701571D61AE3215C1A432CA0406ED5DFCDDA68D00A13194BD545C2BC3FEFA889BAFD02D3FEC2C5E7994FFEADE2B4DBBC89EA8D04C49E96CE034E61A6D53AC3EF6B6DE699ADE95D5F914A69AEAE7DC0B9B30344C8F136D2F5BF4CA6AB6C244AB62DC351C56A7CAC73AF48D4B7269D1A6082F1F6F8C6D0E5E07642DD90F749E331C771FAE4D2B686E92844A0BA3B8A3609605109C3F7233062E447B08748E5A470BA1938测试平台移植 编译只带 g -g main.cpp -stdc11 -I ./include -L./lib64 -lmysqlcppconn -Wl,-rpath,lib64 -o main.exe 运行报丢失两个动态库 [rootdsmartCPP_MYSQL]$./main2.exe ./main2.exe: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory[rootdsmartCPP_MYSQL]$./main2.exe ./main2.exe: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory把两个移到LIB64目录下. 注意软链接不生效 运行就OK了 其它知识 OPENSSL版本 [rootdsmartmysql-]$openssl version OpenSSL 1.0.2k-fips 26 Jan 2017 系统OPENSSL 安装包 ]$rpm -aq | grep opensslopenssl-devel-1.0.2k-26.el7_9.x86_64openssl-libs-1.0.2k-26.el7_9.x86_64openssl-1.0.2k-26.el7_9.x86_64卸载 rpm -e openssl-1.0.2k --nodeps 安装 基本很难找到RPM的 rpm -ivh openssl-1.1.1n-1.el7.x86_64.rpm --nodeps 二进制安装模式 去官网下载1.1.1 https://www.openssl.org/source/old/1.1.1/index.html 2. 执行以下命令进行编译和安装 ./config make make test sudo make install 基本编译有错误. 我就没有继续折腾下去了 AI推荐的 MYSQLX接口用法, 本仙没有测试通过! #include iostream #include mysqlx/xdevapi.hint main() {try {mysqlx::Session session(localhost, 3306, username, password, database);// 创建一个schemamysqlx::Schema schema  session.getSchema(database, true);// 创建一个表schema.createTable(table_name, true,[](mysqlx::TableBuilder builder) {builder.addColumn(id, mysqlx::ColumnType::INT, true).primaryKey();builder.addColumn(name, mysqlx::ColumnType::STRING);});// 插入一行数据mysqlx::Table table  schema.getTable(table_name);table.insert(name).values(Alice).execute();// 查询数据mysqlx::RowResult result  table.select(name).where(name  :name).bind(name, Alice).execute();for (const mysqlx::Row row : result) {std::cout  Name:   row[0]  std::endl;}} catch (const std::exception e) {std::cerr  Error:   e.what()  std::endl;}return 0; } 推荐阅读GCC 内联汇编 用VSCODE 编辑编译调试MYSQL8用C去删除MYSQL日志表数据完善篇
http://www.hkea.cn/news/14396872/

相关文章:

  • 90设计网站会员全站通与电商模板的区别网站建设需求分析调研表
  • 陕西哪些公司做企业网站六安seo曝光行者seo
  • 下班后赚钱的100个副业seo实战培训
  • 沈阳网站优化排名建行网银盾插上以后网页无法打开
  • 网站用什么软件编写怎么建网站挣钱
  • 修改公司网站专业设计笔记本电脑
  • 网站建设是广告吗搜索大全引擎入口
  • 如何建一个免费试用网站qq登录网页手机版
  • 简述酒店类网站开发的策略网站建立公司
  • 网站开发常用软件是什么一个备案号多个网站
  • 手机能建设网站忙清河做网站哪儿好
  • 搜索引擎营销的主要方法官网seo
  • 龙岗网站建设价格wordpress主题 xueui
  • 中国建设银行网站属于什么机构wordpress ie8 兼容
  • 网站定制业务做网站怎么做的
  • 东莞品托网站建设王野苏婉卿
  • 企业建站源码系统南宁网站优化公司电话
  • 内蒙古省呼和浩特网站建设深圳网站排名
  • 尤溪县建设局网站专做定制的网站
  • 江西营销网站建设小程序公众号开发方案
  • 做百度还是阿里网站好建设施工合同范本
  • 正规网站建设服务中心罗定市城乡建设局网站
  • 果洛营销网站建设多少钱坑人的网站链接怎么做
  • 社交(sns)网站的完整设计思路名字logo设计免费
  • 手机网页制作与网站建设wordpress 评论插件
  • 广州物流网站开发html产品介绍网页设计代码作业
  • 郑州 手机网站淘客推广渠道
  • 惠州公司做网站网络营销方案的制定
  • 网站的常用技术有哪些wap版网站建设方案
  • 商城网站建设报价北京中交建设工程咨询有限公司网站