vc怎样以shared-memory的协议连接MySql数据库?

lookmai 2019-07-14 11:05:07
my.ini已经设置好,命令行可以登陆,但在vc连接不了
[mysqld]
skip-networking
shared-memory
shared-memory-base-name=MYSQL
[client]
protocol=memory
shared-memory-base-name=MySQL

c代码,用mysql-8.0.16里面的include和lib.
mysql_init(&mysql);
if (!mysql_real_connect(&mysql, "localhost", "root", "***", "***", 0, NULL, 0))
printf("连接失败!\\n");

网上找了很多,都解决不了问题。但用tcp是可以连接的
...全文
164 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lookmai 2019-07-15
  • 打赏
  • 举报
回复
谢谢,用socket是可以连接的,但在window本机,我想以shared-memory方式连接,性能会更高些。
引用 1 楼 现在还是人类 的回复:

#include<iostream>
#include<cstdlib>
#include<string>
#include<mysql/mysql.h>
using namespace std;
MYSQL *conn;
MYSQL_RES *rs;
MYSQL_ROW fields;
int main(int argc, char *argv[])
{
string host;
string user;
string pwd;
string db_name;
string sql;
conn = mysql_init(NULL);
if(conn==NULL){
printf("Initialization connection fail.\r\n");
return 1;
}
printf("Initialization connection OK.\r\n");
host = "127.0.0.1";
user = "root";
pwd = "123456";
db_name = "testdb";
conn = mysql_real_connect(conn, host.c_str(),user.c_str(), pwd.c_str(), db_name.c_str(), 0, NULL, 0);
if(conn==NULL){
printf("Connection database fail.\r\n");
return 1;
}
printf("Connection database OK.\r\n");
sql = "SELECT * FROM `users`";
if(mysql_query(conn, sql.c_str())){
printf("exec search fail.\r\n");
mysql_close(conn);
return 1;
}
rs = mysql_use_result(conn);
fields = mysql_fetch_row(rs);
printf("fields 3:%s\r\n",fields[3]);
mysql_free_result(rs);
mysql_close(conn);
return 0;
}

现在还是人类 2019-07-15
  • 打赏
  • 举报
回复

#include<iostream>
#include<cstdlib>
#include<string>
#include<mysql/mysql.h>
using namespace std;
MYSQL *conn;
MYSQL_RES *rs;
MYSQL_ROW fields;
int main(int argc, char *argv[])
{
	string host;
	string user;
	string pwd;
	string db_name;
	string sql;
	conn	= mysql_init(NULL);
	if(conn==NULL){
		printf("Initialization connection fail.\r\n");
		return 1;
	}
	printf("Initialization connection OK.\r\n");
	host = "127.0.0.1";
	user = "root";
	pwd = "123456";
	db_name = "testdb";
	conn = mysql_real_connect(conn, host.c_str(),user.c_str(), pwd.c_str(), db_name.c_str(), 0, NULL, 0);
	if(conn==NULL){
		printf("Connection database fail.\r\n");
		return 1;
	}
	printf("Connection database OK.\r\n");
	sql = "SELECT * FROM `users`";
	if(mysql_query(conn, sql.c_str())){
		printf("exec search fail.\r\n");
		mysql_close(conn);
		return 1;
	}
	rs = mysql_use_result(conn);
	fields = mysql_fetch_row(rs);
	printf("fields 3:%s\r\n",fields[3]);
	mysql_free_result(rs);
	mysql_close(conn);
	return 0;
}

4,018

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧