1 首先要安装mysql 和 mysql-devel
mysql就不说了,安装mysql-del的命令如下 yum install mysql-devel
2 再来要在cpp里面找到到头文件mysql.h
先用命令查看安装的位置 find / -name mysql.h
会看到很多个,配合VisualGDB的设置找一个就行了,例如我使用的是
/usr/include/c++/4.8.5/mysql 下的
只要在cpp文件中找得到就行了
运行后,会出现报错信息
undefined reference to `mysql_init'
undefined reference to `mysql_real_connect'
undefined reference to `mysql_query'
undefined reference to `mysql_close'
这几个信息是同一个意思,就是头文件里的mysql_init等方法找不到实现类,找不到 mysqlclient。
这时候,回到CentOs输入 mysql_config,会显示mysql连接还需要的命令
其中我们需要的就是
-L/usr/local/mysql/lib -lmysqlclient -lpthread -lm -lrt -ldl
(只写lmysqlclient也可以: -L/usr/local/mysql/lib -lmysqlclient)
然后我们进入Visual Studio
在项目名称按右键,点击properties,找到Linker的Command Line,在Additional Options的地方输入上面那一行就行了
最后运行测试,首先在mysql里新建一个test数据库,然后建一个student表,这里的登录账号密码都是root
CREATE TABLE `student` (
`name` varchar(255) DEFAULT NULL,
`pwd` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
最后运行测试的cpp文件,在student表里写入一条数据zhangsan 123
#include
#include
#include
using namespace std;
int main()
{
MYSQL conn;
int res;
mysql_init(&conn);
if (mysql_real_connect(&conn, "localhost", "root", "root", "test", 0, NULL, CLIENT_FOUND_ROWS)) //"root":数据库管理员 "":root密码 "test":数据库的名字
{
cout << "connect success!" << endl;
res = mysql_query(&conn, "insert into student values('zhangsan','123')");//在student表插入一条数据
if (res)
{
cout << "error!" << endl;
}
else
{
cout << "OK!" << endl;
}
mysql_close(&conn);
}
return 0;
}
控制台输出
connect success!
OK!
查询数据库写入资料成功