mysql6.1 交叉编译_Armbian系统-mysql-connector-c++-1.1.8版本-交叉编译-安装
查看相关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版本-交叉编译-安装相关推荐
- mysql 5.7 exe_mysql 5.7 版本 windows 安装
WIN10系统MYSQL的下载与安装详细教程,记录如下 前两天ubuntu下安装mysql遇到了一些依赖问题,结果解决了半天,没解决好,还把我的系统搞坏了,小白破坏力好强. 到现在我的ubuntu也没 ...
- 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 ...
- mysql 5.7 编译_Mysql5.7版本编译安装及配置
配置yum安装方式 1.配置本地yum源 1 vim /etc/yum.repos.d/rhel-source.repo2 [rhel-source] 3 name=Red Hat Enterpris ...
- Developing DataBase Applications Using MySQL Connector/C++ 中文文本
日期 备注 2020年6月3日 对排版进行了调整. 翻译自mysql Connector C++帮助文档[http://download.csdn.net/detail/midle110/4931 ...
- 卸载MySQL Connector NET无法卸载
卸载MySQL Connector NET无法卸载 最近安装了MYSQL数据库,安装完发现安装在了系统C盘,对于文件整理控加一丢丢强迫症的我来说,太介意了,不能忍.这里是解决办法:安装MYSQL自定义 ...
- mysql connector c编程_MySQL数据库之MySQL Connector 编程
本文主要向大家介绍了MySQL数据库之MySQL Connector 编程 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. MySQL Connector 是MySQL数据库客户 ...
- mysql connector配置_mysql connector odbc配置注意事项
官方下载: http://dev.mysql.com/downloads/connector/odbc/ 有64位和32位版本,要根据自己的office版本是32还是64的安装 1.版本匹配问题: [ ...
- win8 mysql6_Win8系统 MySQL 6.0 安装图解
Win8系统 MySQL 6.0 安装图解 (作者:wanghui2015/04/08) 1.首先双击mysql-6.0.10-msi,会出现如下图所示界面.点击next: 2.出现如下界面:这三个为 ...
- linux mysql connector_fd_在CentOS里使用MySQL Connector/C++
操作系统版本:CentOS6 64位 1,安装boost库.因为MySQL Connector/C++使用了boost库,所以必须先安装boost库,我们才能使用MySQL Connector/C++ ...
最新文章
- linux 程序包 permission denied,Linux 执行程序 报错误:Permission denied.
- Android Parcelable 源码解析
- ADO.Net Entity Framework Linq To Entities 语法功能汇编
- Struts工作原理
- 数组中的第k个最大元素—leetcode215
- 【转自lzplzp】pair project总结
- android实现类似于支付宝余额快速闪动的效果
- 陶哲轩实分析习题8.5.1
- 2019年以后ArcGIS 调用天地图的资源URL
- 使用Nginx的proxy_cache缓存功能取代Squid(转)
- 【详细原理】蒙特卡洛树搜索入门教程!
- ASME Y14.5 - 2018 中文版 尺寸与公差标注 GDT形位公差
- SRS4.0源码分析-序言
- gym100676 [小熊骑士限定]2015 ACM Arabella Collegiate Programming Contest
- OCR识别文字是什么?了解一下如何使用
- Java中List集合过滤出符合条件的List元素集合
- 设置计算机id管理员默认密码是多少钱,路由器默认(初始)管理员登录密码是多少?...
- matlab创新开放性实验,基于MATLAB 的自动控制原理实验仿真系统的设计
- 名词解释:DNS,A记录,子域名,CNAME别名,PTR,MX,TXT,SRV,TTL
- 2019年20个最佳产品信息管理(PIM)软件(一)
热门文章
- fire.php,php代码调试利器firephp安装与使用方法分析
- proe输入数字时成双出现_什么是隔离数字输入?
- python基础教程是什么-Python基础教程(一)
- 在哪里学python-学Python从哪里开始?
- 专科python应届生工资多少-请问学过一点python,应届生怎么找工作?
- python学了真的很有用吗-会Python的人工作不会太差?编程课真的有必要学吗?
- python3入门代码-Python3零基础自学方法?
- 语音识别技术在汽车上的应用
- 小颗粒积木步骤图纸_【小颗粒积木赛回顾】参与者图鉴,中华街带来耐心与热情...
- html的弹窗标签是什么意思,前端实现展示弹窗,为什么不同的标签弹出相同的内容?是不是js函数写错了,需要怎么改呢?...