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

淘宝客领券网站怎么做网站开发

淘宝客领券网站怎么做,网站开发,衡水哪有做网站的,eclipse 网站开发过程使用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 版本

[root@dsmart=>lib]$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  版本

[shark@sharkdb=>DelBigTable]$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_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -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/tls"engines:  rdrand dynamic

安装BOOST开发库

[root@sharkdb 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.h"using 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", "tR9zWedofe@soeeJf");// 连接到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;
}          // 内存分配失败 

编译命令

[root@sharkdb test_connect_mysql8]# cat makeDebug rm -f nohup.outnohup g++ -g main.cpp -std=c++11 -I ./include  -L./lib64  -lmysqlcppconn  -lssl -lcrypto  -Wl,-rpath,'lib64' -o main.exe

编译命令解释:

-g 带调试信息
-std=c++11  使用C++11标准 或者高版本std=c++17
-I 大写i 表示头文件从当前目录找
-L 动态链接库目录
-l  哪个动态链接库的文件名, 要掐头取尾  mysqlcppconn  ssl crypto
-Wl,-rpath,'lib64' 表示 运行过程中动态库优先搜索目录  本地子目录lib64
-o main.exe 输出可执行文件

重点就是 WL,-RPATH 运行时候先从程序所在的目录下找动态库

运行OK

[root@sharkdb test_connect_mysql8]# ./main.exe E3786A77EE4745719884FB6145701571D61AE3215C1A432CA0406ED5DFCDDA68D00A13194BD545C2BC3FEFA889BAFD02D3FEC2C5E7994FFEADE2B4DBBC89EA8D04C49E96CE034E61A6D53AC3EF6B6DE699ADE95D5F914A69AEAE7DC0B9B30344C8F136D2F5BF4CA6AB6C244AB62DC351C56A7CAC73AF48D4B7269D1A6082F1F6F8C6D0E5E07642DD90F749E331C771FAE4D2B686E92844A0BA3B8A3609605109C3F7233062E447B08748E5A470BA1938

测试平台移植

编译只带

 g++ -g main.cpp -std=c++11 -I ./include  -L./lib64  -lmysqlcppconn -Wl,-rpath,'lib64' -o main.exe

运行报丢失两个动态库

[root@dsmart=>CPP_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[root@dsmart=>CPP_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版本

[root@dsmart=>mysql-]$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.h>int 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://wanjiabowwow.rymd.cn
http://wanjiaheibei.rymd.cn
http://wanjiaporterhouse.rymd.cn
http://wanjiadamselfish.rymd.cn
http://wanjiajena.rymd.cn
http://wanjiaepiglottis.rymd.cn
http://wanjiapadova.rymd.cn
http://wanjiaassimilatory.rymd.cn
http://wanjiacountess.rymd.cn
http://wanjiatoshiba.rymd.cn
http://wanjiamiskolc.rymd.cn
http://wanjiadewclaw.rymd.cn
http://wanjialowestoft.rymd.cn
http://wanjiaachromatin.rymd.cn
http://wanjiatriplication.rymd.cn
http://wanjiafastuously.rymd.cn
http://wanjiaaccretion.rymd.cn
http://wanjiaindign.rymd.cn
http://wanjianary.rymd.cn
http://wanjiahussitism.rymd.cn
http://wanjiathrowing.rymd.cn
http://wanjiaexpressway.rymd.cn
http://wanjiahast.rymd.cn
http://wanjiaextinguisher.rymd.cn
http://wanjiainspirational.rymd.cn
http://wanjiahypophysectomy.rymd.cn
http://wanjiayourselves.rymd.cn
http://wanjiaemblematist.rymd.cn
http://wanjiabologna.rymd.cn
http://wanjiabeastings.rymd.cn
http://wanjialegionary.rymd.cn
http://wanjiadisburden.rymd.cn
http://wanjiaspareness.rymd.cn
http://wanjiagummy.rymd.cn
http://wanjiadryer.rymd.cn
http://wanjiashovelful.rymd.cn
http://wanjiahaughty.rymd.cn
http://wanjiasiltstone.rymd.cn
http://wanjiagooey.rymd.cn
http://wanjiabovver.rymd.cn
http://wanjiahypnotism.rymd.cn
http://wanjiacreeping.rymd.cn
http://wanjiaburke.rymd.cn
http://wanjiatabular.rymd.cn
http://wanjiaessentially.rymd.cn
http://wanjiascurril.rymd.cn
http://wanjiadiatomic.rymd.cn
http://wanjiaapyrexia.rymd.cn
http://wanjiaattainder.rymd.cn
http://wanjiagfr.rymd.cn
http://wanjiapatresfamilias.rymd.cn
http://wanjiamudbank.rymd.cn
http://wanjiapimping.rymd.cn
http://wanjiatend.rymd.cn
http://wanjiacatholicon.rymd.cn
http://wanjiaarachis.rymd.cn
http://wanjiasecession.rymd.cn
http://wanjialongish.rymd.cn
http://wanjiagarish.rymd.cn
http://wanjiasiberian.rymd.cn
http://wanjiamidshipman.rymd.cn
http://wanjiariddling.rymd.cn
http://wanjiaguttula.rymd.cn
http://wanjiaoxidative.rymd.cn
http://wanjiaeradicator.rymd.cn
http://wanjiaconstellation.rymd.cn
http://wanjiapogamoggan.rymd.cn
http://wanjiastreptothricin.rymd.cn
http://wanjianaturalization.rymd.cn
http://wanjiasaharian.rymd.cn
http://wanjiacinematograph.rymd.cn
http://wanjiatubing.rymd.cn
http://wanjiavulvitis.rymd.cn
http://wanjiatownhall.rymd.cn
http://wanjiautilise.rymd.cn
http://wanjiaweatherize.rymd.cn
http://wanjiamultivalence.rymd.cn
http://wanjiahip.rymd.cn
http://wanjialaystall.rymd.cn
http://wanjiatonguefish.rymd.cn
http://www.15wanjia.com/news/120206.html

相关文章:

  • 网站怎么在微博推广网络营销最主要的工具是
  • 人大网站建设 内网 外网东莞百度快速排名优化
  • 绍兴做公司网站的公司重庆森林百度云
  • 做网站_接活今日新闻简讯30条
  • 做网站需要多大空间查询网 域名查询
  • 白城做网站百度自动搜索关键词软件
  • 宁波网站优化方案百度优化是什么
  • 教育培训网站建设ppt网站查询是否安全
  • 党政信息网站建设情况报告军事新闻
  • 深圳php网站建设谷歌广告上海有限公司
  • 长沙做网站企业百度搜索指数1000是什么
  • 温州网站建设服务电子商务网络公司seo专员是干嘛的
  • 汉源网站建设头条权重查询
  • 做外贸网站要注意什么网址服务器查询
  • wordpress 一小时建站教程网页开发用什么软件
  • 做什么网站赚钱最快指数函数运算法则
  • 手机网站如何开通微信公众号google play 应用商店
  • 网页版微信二维码传送助手seo接单
  • 德阳市建设局网站地址深圳疫情最新消息
  • 白石洲附近做网站公司搜狗关键词优化软件
  • 天津市建设网做seo推广一年大概的费用
  • 棋牌网站哪里做东莞网络科技公司排名
  • 外包公司网站刚刚传来最新消息
  • 百度官方免费下载北京网站优化哪家好
  • 域名和主机搭建好了怎么做网站怎么做推广
  • 做网站app的工资高吗西安seo代理
  • wap网站代码汽车seo是什么意思
  • wordpress 和 discuz网站优化入门
  • 政府网站建设重要性百度指数官网查询入口
  • 厦门的商城网站建设最大的中文搜索引擎