inux 下c/c++ 连接mysql数据库全过程-----已经通过验证
安装Mysql(还可以下载 .gz包,解压安装,再此只介绍此法,其实都一样了,或百度一下。。。重点在下下下下面)
1.首先安装Mysql服务器
sudo apt-get install mysql-server
2.然后安装客户程序
sudo apt-get install mysql-client
3.启动服务器
sudo /etc/init.d/mysql restart
4.当服务器启动之后,你可以使用netstat命令来查看服务器的运行情况
sudo netstat -tap | grep mysql
5.既然服务器已经启动了,我们登录进去看看吧
mysql -u root -p
其中,root为默认的Mysql数据库管理员账户,回车之后应该输入密码,相信密码在安装时你已经设置过了,如果你没设置的话,默认密码为空,因此直接敲回车就可以了,或者还有一个默认密码是db_user_password.
重点:
在装好mysql-server和mysql-client后,就来装类似windows 下的驱动;
方法一:
1.安装必需的开发包
sudo apt-get install gcc g++ libgcc1 libg++ make gdb
2.安装Mysql的C语言开发包(放心,C++一样用的)
sudo apt-get install libmysql++2c2a libmysqlclient15-dev libmysqlclient15off libmysql++-dev
3.把lib文件复制到库里
sudo cp /usr/lib/mysql/* /usr/lib/
现在,你已经可以使用C/C++链接Mysql了,但是,接下来你必须接受一个残酷的事实,以后编写C/C++程序时,你必须包含mysql.h文件
#include “/usr/include/mysql/mysql.h”
注意:上面的方法在执行第一个 sudo 命令时,有可能报错,
什么什么未满足依赖关系,各种冲突,等等,我就是卡在这的。。。。后来各种查资料。。。。无意间,另一种方法出现。。。
方法二:那就是下载(mysql-connector-c++-1.1.3-linux-glibc2.3-x86-64bit.tar.gz),(选取适合自己平台版本的,我的是这个。。。)
网址:
http://dev.mysql.com/downloads/connector/cpp/
解压:tar -zxvf mysql-connector-c++-1.1.3-linux-glibc2.3-x86-64bit.tar.gz
然后将解压得到的文件里对应的库,头文件拷贝到系统能找到的位置,就像上面做的那样。
sudo cp mysql-connector-c ????/lib/* /usr/lib
sudo cp mysql-connector-c????/include/* /usr/include/
ok,然后,测试程序:
//test.cpp
#include
#include "mysql/mysql.h"
int main()
{
const char *host = "localhost";
const char *user = "root";
const char *pass = "123456";
const char *db = "test";
MYSQL mysql;
mysql_init(&mysql);
if (!mysql_real_connect(&mysql, host, user, pass, db, 0, NULL, 0)) {
printf("%s", mysql_error(&mysql));
}
else {
printf("YES, Conected succeed!");
}
mysql_close(&mysql);
return 0;
}
编译:
gcc test.c -lmysqlclient
执行: ./a.out