ubuntu下MySQL安装与C++开发环境配置

本文详细介绍了如何在Ubuntu系统中安装MySQL,包括创建新用户并赋予最高权限,以及修改配置允许远程连接。接着,讲述了在Windows环境下VS2019配置MySQL的步骤,包括设置包含目录、库目录、环境变量和附加依赖项。最后,展示了在Linux环境下使用CMake配置MySQL连接,并提供了一个简单的C++代码示例,涵盖了数据库的基本操作,如创建表、插入数据、删除数据和查询数据。
摘要由CSDN通过智能技术生成

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)

  1. VC++目录->包含目录

    C:\Program Files\MySQL\MySQL Server 8.0\include

  2. VC++目录->库目录

    C:\Program Files\MySQL\MySQL Server 8.0\lib

  3. 调试->环境

    Path=C:\Program Files\MySQL\MySQL Server 8.0\lib;C:\Program Files\MySQL\MySQL Server 8.0\bin;

  4. 连接器->输入->附加依赖项

    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;
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值