Linux(C++)连接MySQL数据库
一、 环境安装
首先是MySQL的安装,直接只用apt-get命令安装(这里推荐使用这种方式安装,因为此方式在后面程序编译时,不需要自己链接相关路径)
sudo apt-get install mysql-server
本人安装后,相关头文件以及动态库在如下目录中:
// 头文件
/usr/include/mysql/
// 动态库
/usr/lib/x86_64-linux-gnu/
最后,保证MySQL服务在运行状态,相关命令如下:
// 启动MySQL
service mysqld start
// 停止MySQL
service mysqld stop
// 重启MySQL
service mysqld restart
// 查看MySQL运行状态
systemctl status mysql.service
二、 配置
第一次安装MySQL后,是如法直接用root用户登录的,会报错Access denied for user ‘root’@‘localhost’。此时,我们先查看MySQL配置文件,获取默认用户名和密码:
// 命令
sudo cat /etc/mysql/debian.cnf
// 配置文件内容
[client]
host = localhost
user = debian-sys-maint
password = ***(这里我隐藏了,是一串英文和数字)
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = ***(这里我隐藏了,是一串英文和数字)
socket = /var/run/mysqld/mysqld.sock
我们直接使用配置文件中提供的用户名debian-sys-maint和密码,登录MySQL
$ mysql -udebian-sys-maint -p
Enter password: (这里输入配置文件中的密码)
进入MySQL后,配置root账户的密码
mysql> update user set password=password('密码') where user='root' and host='localhost'
mysql> flush privileges; //这一步不要忘记,让MySQL重新加载权限数据
此时,退出MySQL,我们就可以用root账户和设置的密码正常进入MySQL了。
三、 头文件
#include<mysql/mysql.h>
四、 函数
1. 分配或初始化MYSQL对象
MYSQL *mysql_init(MYSQL *mysql)
参数: mysql mysql的实例
待初始化的MYSQ对象,将对象地址传入,NULL指针,该函数将分配、初始化、并返回新对象。否则,将初始化对象,并返回对象的地址。
MYSQL mysql;
mysql_init(&mysql);
// 或者
MYSQL mysql = mysql_init(NULL);
2. 连接一个mysql服务器
MYSQL *mysql_real_connect (MYSQL *mysql,
const char*host,
const char*user,
const char*passwd,
const char*db,
unsigned intpor