一、安装环境和mysql版本:
1、ubuntu14.04 64位 mysql5.7
二、使用命令mysql_config查看数据库配置是否齐全:
能够看到上面的头文件和库文件的位置说明配置应该是没有问题的。
三、如果没有配置齐全可以参考我的博客https://blog.csdn.net/toby54king/article/details/80768289安装方法中的第4条指令,当然我这篇介绍的是使用安装包安装数据库的方法。在这篇博客中我没有写安装mysql库相关的信息,但指令都是一样的,补充如下:
sudo dpkg -i libmysqlclient20_5.7.22-1ubuntu14.04_amd64.deb
sudo dpkg -i libmysqlclient-dev_5.7.22-1ubuntu14.04_amd64.deb
sudo dpkg -i libmysqld-dev_5.7.22-1ubuntu14.04_amd64.deb
你也可以使用在线安装的
sudo apt-get install mysql-client
sudo apt-get install libmysql-dev
sudo apt-get install libmysqlclient20
四、开始编写代码测试,我在这演示使用QtCreator的方法:
#include <iostream>
#include <stdio.h>
#include <mysql/mysql.h>
using namespace std;
int main(int argc, char *argv[])
{
MYSQL pSql;
MYSQL *pMysql = NULL;
mysql_init(&pSql);
pMysql = mysql_real_connect(&pSql,"192.168.1.44","root","root","",3306,NULL,0);
if(pMysql == NULL)
{
cout << "connect mysql is error!" << endl;
}
string createDataStr = "CREATE DATABASE testMysql;";
int ret = mysql_query(&pSql,createDataStr.c_str());
if(ret == 0)
{
printf("mysql_query():%s\n",mysql_error(&pSql));
return -1;
}
else if(ret == 1)
{
MYSQL mySql;
MYSQL *pTempSql = NULL;
mysql_init(&mySql);
pTempSql = mysql_real_connect(&mySql,"192.168.1.44","root","root","testMysql",3306,NULL,0);
if(pMysql != NULL)
{
string createTableStr = "CREATE TABLE PERSONINFO (ID INTEGER(10) NOT NULL, NAME CHAR(10) NOT NULL,SEX CHAR(5) NOT NULL,PHONE INTEGER(12) NOT NULL,INSERTTIME DATETIME)";
ret = mysql_query(&mySql,createTableStr.c_str());
if(ret == 0)
{
printf("mysql_query():%s\n",mysql_error(&mySql));
return -2;
}
else if(ret == 1)
{
string insertDataStr = "INSERT INTO PERSONINFO(ID,NAME,SEX,PHONE,INSERTTIME) VALUES (1,'ISMILELI','man',110,now());";
ret = mysql_query(&mySql,insertDataStr.c_str());
if(ret >= 0)
{
cout << "insert ISMILELI info is success!" << endl;
}
else
{
cout << "insert ISMILELI info is failure!" << endl;
}
}
}
mysql_close(&mySql);
}
mysql_close(&pSql);
cout << "Hello World!" << endl;
return 0;
}
1》如果你不知道使用QtCreator怎么加载动态库的话可以参考我的这篇博客:
https://blog.csdn.net/toby54king/article/details/78981487。
注意:如果出现下面的错误:
你可能需要在链接库后面加上: -lpthread -ldl -lcrypt
unix:!macx: LIBS += -L$$PWD/../../../../usr/lib64/mysql/ -lmysqlclient -lpthread -ldl -lcrypt
2》如果你使用的是gcc或者g++编译可能需要下面的方式:
g++ testMysql.cpp -o testMysql -I/usr/include/mysql -lmysqlclient
当然如果你也可能需要链接 -lpthread -ldl -lcrypt
五、使用Navicat for mysql查看运行结果:
说明:更多MYSQL问题请参考博客中的其他文章。