Ubuntu安装MySQL
# 安装mysql
sudo apt install mysql-server mysql-client libmysqlclient-dev
# 进入mysql
sudo mysql -u root
# 进入mysql数据库
use mysql
# 创建新用户
create user 'name'@'%' identified by '123456';
# 给新用户赋予最高权限
grant all on *.* to 'name'@'%';
# 允许除127.0.0.1之外的主机访问(有这一步才能远程连接) (WSL有这步才能不使用sudo就能连接)
# 打开文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 注释掉
bind-address = 127.0.0.1
# 重启mysql服务
sudo service mysql restart
C++开发MySQL配置教程
windows下的vs2019配置
(假设mysql的默认安装路径为:C:\Program Files\MySQL\MySQL Server 8.0)
-
VC++目录->包含目录
C:\Program Files\MySQL\MySQL Server 8.0\include
-
VC++目录->库目录
C:\Program Files\MySQL\MySQL Server 8.0\lib
-
调试->环境
Path=C:\Program Files\MySQL\MySQL Server 8.0\lib;C:\Program Files\MySQL\MySQL Server 8.0\bin;
-
连接器->输入->附加依赖项
libmysql.lib
linux环境下cmake配置
首先安装库
sudo apt install libmysqlclient-dev
CmakeList.txt
cmake_minimum_required(VERSION 3.0)
project(MySQL)
set(CMAKE_CXX_STANDARD 11)
add_executable(main main.cpp)
target_link_libraries(main mysqlclient)
代码示例
#include <iostream>
#include<mysql/mysql.h>
using namespace std;
int main() {
MYSQL mysql;
MYSQL_RES* res; //查询结果集
MYSQL_ROW row; //记录结构体
mysql_init(&mysql);
//mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "utf8mb4");
if(mysql_real_connect(&mysql, "127.0.0.1", "name", "123456", "test", 3306, NULL, 0)==NULL)
{
printf("错误原因: %s\n", mysql_error(&mysql));
printf("连接失败!\n");
exit(-1);
}
int ret = mysql_query(&mysql,
"create table if not exists emp("
"id int auto_increment primary key unique comment '主键',"
"name varchar(10) not null comment '名字'"
") comment '员工表';");
if(ret!=0) printf("创建表出错!\n");
ret = mysql_query(&mysql, "insert into emp(name) values ('name3'),('name4')");
if(ret!=0) printf("插入数据出错!\n");
ret = mysql_query(&mysql, "delete from emp where id>2");
if(ret!=0) printf("删除数据出错!\n");
ret = mysql_query(&mysql, "select * from emp");
if(ret!=0) printf("查询数据出错!\n");
res = mysql_store_result(&mysql);
if(res==nullptr) printf("没有返回的数据!\n");
while (res!=nullptr && (row = mysql_fetch_row(res)))
{
for(int i=0;i<res->field_count;++i)
printf("%s ", row[i]); //打印ID
printf("\n");
}
return 0;
}