查看相关mysql-dev库: aptitude search mysql|grep devel。安装相关库。

搜索相关安装:apt-cache search libmysql

项目用的版本是1.1.8。下载源码包mysql-connector-c++-1.1.8.。

解压,进入目录。可以先阅读“INSTALL”文件。里面有各个平台编译的详细说明(Unix, Solaris, Windows)。

了解下其它的相关信息:

(1)cppconn目录是头文件夹,driver目录是源码文件夹。

(2) “BUILDING ON UNIX”-“1.”。会检查:C compiler/CXX compiler/Boost/Mysql/等。

(3)查看“BUILDING ON UNIX”-“2. Use make on build the libraries”。如何编译成库文件。

(4)从源码安装C++连接器需要支持库:Build Tools,MySQL Client Library,Boost C++ Libraries。

(5)必须要跨平台的编译工具CMake(推荐2.8.12或者更高哦版本,老版本也“可能”可以用)。

(6)必须要支持C++11的编译器。

(7)必须要MYSQL Client Library。MYSQL 5.7(5.7.9或者更高版本)。通常安装MYSQL时会安装MYSQL客户端库。

(8)若要指定查找客户机库的位置,可以设置MYSQL_DIR的值。

(9)必须要安装了Boost。Boost1.59.0或者更高版本。

(10)Boost被安装后,可以设置Cmake选项BOOST_ROOT来指示Boost文件夹位置。如:cmake [other_options] -DBOOST_ROOT=/usr/local/boost_1_59_0。

(11)可以用-DCMAKE_INSTALL_PREFIX=path_name指定安装路径。

cmake .生成编译信息,或者可以带其它相关的配置参数。不设置表示默认。

make clean。

make。

如果你向安装库到当前系统上,就执行make install。

安装完成可以测试:./test_install localhost root password database。成功了,你会看到输出信息。

mysql_get_option?has not been declared错误:

(1). 没有安装MySQL客户端,只安装了mysql-devel等相关开发包,但是编译1.1.8的时候,执行make的时报如下错误:

/mysql-connector-c++-1.1.8/driver/nativeapi/libmysql_static_proxy.cpp:323:6: error: ?:mysql_get_option?has not been declared

if (::mysql_get_option(mysql, option, arg)) {

^

driver/CMakeFiles/mysqlcppconn.dir/build.make:470: recipe for target ‘driver/CMakeFiles/mysqlcppconn.dir/nativeapi/mysql_client_api.cpp.o’ failed

(2). 在官方网址上看到“Changes in MySQL Connector/C++ 1.1.8”解决了BUG,1.1.8版本比在MYSQL5.7低的版本不能成功编译。

(3). 后来全文搜索的时候看到这个注释:mysql_get_option() was added in mysql 5.7.3 version和代码中关于mysql_get_option函数的相关的判断:MYSQL_VERSION_ID >= 50703。说明我们MySQL Client Library版本低于5.7.3。

(4). 看文档说明了1.1.8版本连接选项增加了最大的数据包设置和网络缓冲区大小设置。说明我们报的错误也和这个功能有关。

(5). 网上下载了新的mysql-devel但是架构都不对应。

(5). 用apt-get安装的libmysqlclient-dev版本对应的5.5左右的版本,比5.7.3要低。

(6). 要解决问题,我们需要安装Mysql了。下载了Mysql-5.7.10版本。此版本的Mysql需要Boost-1.59(高版本的Boost不合法)。

安装Mysql:

(1)创建组:groupadd mysql

(2)创建用户:useradd -r -g mysql mysql

(3)创建mysql文件夹于数据存放文件夹data:mkdir -p /usr/local/mysql/data。

(4)安装cmake。

(5)进入mysql的解压目录,创建build文件夹,进入build文件夹。

(6)cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DBOOST_INCLUDE_DIR=/usr/local/boost_1_59

(7)make

只有1G内存,安裝Mysql中途提示:c++: internal compiler error。报内存不足。解决方式增加一个交换分区。

(1)创建分区1G大小文件:dd if=/dev/zero of=/swapfile bs=1k count=1024000。

(2)mkswap /swapfile。

(3)swapon /swapfile。

(4)如果需要每次系统重启后自动挂载交换分区,就需要修改/etc/fstab文件,新增内容:/swapfile swap swap defaults 0 0。由于我们只是本次编译到用,所以不设置。

(5)编译完成后,关闭交换分区:swapoff /swapfile。

(6)删除交换分区:rm /swapfile。

mysql6.1 交叉编译_Armbian系统-mysql-connector-c++-1.1.8版本-交叉编译-安装相关推荐

  1. mysql 5.7 exe_mysql 5.7 版本 windows 安装

    WIN10系统MYSQL的下载与安装详细教程,记录如下 前两天ubuntu下安装mysql遇到了一些依赖问题,结果解决了半天,没解决好,还把我的系统搞坏了,小白破坏力好强. 到现在我的ubuntu也没 ...

  2. mysql装5.7的哪个版本_安装mysql5.7系列版本

    1.官网下载mysql,目前5.7系列版本为mysql-5.7.22-linux-glibc2.12-x86_64.tar 2.放在/usr/logcal 下解压压缩包,并改名为mysql cd /u ...

  3. mysql 5.7 编译_Mysql5.7版本编译安装及配置

    配置yum安装方式 1.配置本地yum源 1 vim /etc/yum.repos.d/rhel-source.repo2 [rhel-source] 3 name=Red Hat Enterpris ...

  4. Developing DataBase Applications Using MySQL Connector/C++ 中文文本

    日期 备注 2020年6月3日 对排版进行了调整.   翻译自mysql Connector C++帮助文档[http://download.csdn.net/detail/midle110/4931 ...

  5. 卸载MySQL Connector NET无法卸载

    卸载MySQL Connector NET无法卸载 最近安装了MYSQL数据库,安装完发现安装在了系统C盘,对于文件整理控加一丢丢强迫症的我来说,太介意了,不能忍.这里是解决办法:安装MYSQL自定义 ...

  6. mysql connector c编程_MySQL数据库之MySQL Connector 编程

    本文主要向大家介绍了MySQL数据库之MySQL Connector 编程 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. MySQL Connector 是MySQL数据库客户 ...

  7. mysql connector配置_mysql connector odbc配置注意事项

    官方下载: http://dev.mysql.com/downloads/connector/odbc/ 有64位和32位版本,要根据自己的office版本是32还是64的安装 1.版本匹配问题: [ ...

  8. win8 mysql6_Win8系统 MySQL 6.0 安装图解

    Win8系统 MySQL 6.0 安装图解 (作者:wanghui2015/04/08) 1.首先双击mysql-6.0.10-msi,会出现如下图所示界面.点击next: 2.出现如下界面:这三个为 ...

  9. linux mysql connector_fd_在CentOS里使用MySQL Connector/C++

    操作系统版本:CentOS6 64位 1,安装boost库.因为MySQL Connector/C++使用了boost库,所以必须先安装boost库,我们才能使用MySQL Connector/C++ ...

最新文章

  1. linux 程序包 permission denied,Linux 执行程序 报错误:Permission denied.
  2. Android Parcelable 源码解析
  3. ADO.Net Entity Framework Linq To Entities 语法功能汇编
  4. Struts工作原理
  5. 数组中的第k个最大元素—leetcode215
  6. 【转自lzplzp】pair project总结
  7. android实现类似于支付宝余额快速闪动的效果
  8. 陶哲轩实分析习题8.5.1
  9. 2019年以后ArcGIS 调用天地图的资源URL
  10. 使用Nginx的proxy_cache缓存功能取代Squid(转)
  11. 【详细原理】蒙特卡洛树搜索入门教程!
  12. ASME Y14.5 - 2018 中文版 尺寸与公差标注 GDT形位公差
  13. SRS4.0源码分析-序言
  14. gym100676 [小熊骑士限定]2015 ACM Arabella Collegiate Programming Contest
  15. OCR识别文字是什么?了解一下如何使用
  16. Java中List集合过滤出符合条件的List元素集合
  17. 设置计算机id管理员默认密码是多少钱,路由器默认(初始)管理员登录密码是多少?...
  18. matlab创新开放性实验,基于MATLAB 的自动控制原理实验仿真系统的设计
  19. 名词解释:DNS,A记录,子域名,CNAME别名,PTR,MX,TXT,SRV,TTL
  20. 2019年20个最佳产品信息管理(PIM)软件(一)

热门文章

  1. fire.php,php代码调试利器firephp安装与使用方法分析
  2. proe输入数字时成双出现_什么是隔离数字输入?
  3. python基础教程是什么-Python基础教程(一)
  4. 在哪里学python-学Python从哪里开始?
  5. 专科python应届生工资多少-请问学过一点python,应届生怎么找工作?
  6. python学了真的很有用吗-会Python的人工作不会太差?编程课真的有必要学吗?
  7. python3入门代码-Python3零基础自学方法?
  8. 语音识别技术在汽车上的应用
  9. 小颗粒积木步骤图纸_【小颗粒积木赛回顾】参与者图鉴,中华街带来耐心与热情...
  10. html的弹窗标签是什么意思,前端实现展示弹窗,为什么不同的标签弹出相同的内容?是不是js函数写错了,需要怎么改呢?...