mfc连接ubuntu mysql数据库_Ubuntu 16.04 Linux系统下使用C++连接mysql数据库
Ubuntu安装mysql
sudo apt-get install mysql-server,mysql-client,libmysqlclient-dev
安装的时候会提示你设置数据库的密码
安装结束后验证是否成功:sudo netstat -tap | grep mysql
如果有关于mysql的字出现,就安装成功了。
c++连接数据库
专用的mysql.h头文件
#include linux下编译的时候记得使用如下命令,注意是反引号不是引号
g++ test.cpp `mysql_config --cflags --libs` -o test
C++关于数据库的API函数:
mysql_init //初始化MYSQL结构
mysql_real_connect//连接数据库
mysql_real_query//查询
mysql_store_result//操作查询结果
mysql_fetch_row//逐行获取上面的结果
mysql_free_result//释放结果集
mysql_close//关闭mysql使用
具体函数使用比较简单,就不详述了。
出现的问题:
1.找不到mysql.h
原因:只安装了mysql-server 和mysql-client 但要在linux下进行数据库开发,还需要安装devel开发包
解决办法:sudo apt-get install libmysqlclient15-dev 安装此软件包
安装完后 mysql.h出现在/usr/include/mysql目录下
此时编译g++ –I/usr/include/mysql –L/usr/lib/mysql –lmysqlclient –o xx xx.cpp
注:库自带的配置命令 `mysql_config --cflags --libs` 执行如下
[email protected]:~$ mysql_config --cflags --libs
-I/usr/include/mysql
-L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -lrt -ldl
-I(大i)表示头文件优先搜索路径
-L表示链接的库文件优先搜索路径
-l(小L)表示链接的库文件名
如:
-I/home/hello/include表示将/home/hello/include目录作为第一个寻找头文件的目录
寻找的顺序是:/home/hello/include-->/usr/include-->/usr/local/include
-L/home/hello/lib表示将/home/hello/lib目录作为第一个寻找库文件的目录
寻找的顺序是:/home/hello/lib-->/lib-->/usr/lib-->/usr/local/lib
-lworld表示在上面的lib的路径中寻找libworld.so动态库文件(如果gcc编译选项中加入了“-static”表示寻找libworld.a静态库文件)
-l(小L)参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?
就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的
头lib和尾.so去掉就是库名了。
好了现在我们知道怎么得到库名了,比如我们自已要用到一个第三方提供的库名字叫libtest.so,那么我们只要把libtest.so拷贝到/usr/lib里,编译时加上-ltest参数,我们就能用上libtest.so库了(当然要用libtest.so库里的函数,我们还需要与libtest.so配套的头文件)。
关于后面的小知识点参考了该博主的内容:gcc -I -L -l描述
mfc连接ubuntu mysql数据库_Ubuntu 16.04 Linux系统下使用C++连接mysql数据库相关推荐
- 在linux下怎么安装mysql,手把手教你在Linux系统下安装MySQL
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB. 1. 下载并安装MySQL官方的 Yum R ...
- linux系统下使用xampp 丢失mysql root密码【xampp的初始密码为空】
如果在ubuntu 下面 使用xampp这个集成开发环境,却忘记mysql密码. 注:刚安装好的xampp的Mysql初始密码是空... 找回密码的步骤如下: 1.停止mysql服务器 sudo /o ...
- ubuntu java 编译器_Ubuntu 16.04配置Java开发环境
一.安装jdk,配置java环境变量 1.下载 jdk,当前的版本是 jdk-8u101.选择适合自己系统的版本进行下载,下载好之后放在 Download 目录下 2.然后使用 Ctrl + Alt ...
- MySQL 数据库linux系统下修改配置文件设置mysql是否大小写敏感实例演示
通过 vim /etc/my.cnf 修改配置文件, 在 mysqld 模块下面添加 lower-case-table-names=1, 参数 1 代表大小不敏感,0 代表大小写敏感. 再通过 ser ...
- Linux系统下命令行连接蓝牙设备
1.打开系统蓝牙 sudo service bluetooth start 进入bluetoothctl bluetoothctl 输入以下命令 power on agent on default-a ...
- linux查看哪个网卡插着网线,查看linux系统下网卡是否连接网线的状态
查看Linux下网卡状态或是否连接 一.通过mii-tool指令 [root@linuxzgf ~]# mii-tool eth0: negotiated 100baseTx-FD, link ok ...
- 查看蓝牙命令linux,【转载】Linux系统下命令行连接蓝牙设备 查看查找 蓝牙
[css]通过transform缩放邮件客户端h5页面 摘要 最近一直在折腾邮件通知的东东,大概逻辑就是如果有新邮件,向收件人的app推送一条服务号消息,并且在单击该消息的时候,需要展示邮件的详情. ...
- linux系统下PHP无法调用oracle数据库的解决方法
我们有项目php调用oracle 在正线上环境不能运行成功.经调试通过使用如下方式: $param = '00000999';$en = 'cn';@passthru("/usr/local ...
- mysql中文问号 linux,解决Linux系统下Mysql数据库中文显示成问号的问题
Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 (需暂停服务的方式) Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 本机采用Ubuntu16.04系统,tar方式安装My ...
最新文章
- tf.keras.losses.MeanAbsolutePercentageError 损失函数 示例
- 相机模型--A Unifying Theory for Central Panoramic Systems and Practical Implications
- 阿里云CentOS7安装Oracle11GR2
- centos下yum安装nginx
- 为什么有的S4系统看不到Adapt UI按钮
- JS-事件内置对象event
- 快速迁移 Next.js 应用到函数计算
- android 华为手机灭屏搜索不到蓝牙_华为Mate 30更新EMUI10.1.0.132版本,新增10项实用功能...
- SpringSecurity动态加载用户角色权限实现登录及鉴权
- matlab rgb2ntsc函数,matlab 颜色模型之间的转换
- DOTNET零碎总结---VB.NET修改数据存在多个txtbox时,SQL语句的操作
- hdfs-大数据Week6-DAY2-2-hdfs
- 【动态规划笔记】状压dp:蓝桥 矩阵计数 (二进制枚举)
- Java--继承(三)
- 网络操作系统与分布式操作系统
- 抛物线交点式公式_抛物线公式大全
- 安利一下好用免费的思维导图绘制软件(实在篇)
- 商科能读计算机专业吗,我本科读的计算机 想去新西兰留学可以换专业吗? 没分了跪求啊,...
- Apache Calcite初探和csv简单例子
- 如何构建企业内的 TiDB 自运维体系