添加新用户love,密码
create user ‘love’@‘localhost’ identified by ‘Czzz1234.’;
赋予love所有权限,下面的 . 两边要加**:
grant all privileges on . to ‘love’@‘localhost’ with grant option;
修改为所有主机都通过该用户访问:
update user set host=’%’ where user=‘love’;
这样就可以vs2019下通过c++访问用户love,进而连接虚拟机上centos的mysql数据库了。
下面为代码
#include
#include<WinSock2.h>
#include<Windows.h>
#include
#include"mysql.h"
using namespace std;
#define IPADDRESS “192.168.0.102”
#define HOSTNAME “love”
#define PASSWORD “Czzz1234.”
#define DATABASE “equation”
MYSQL* conn = NULL;
//
bool init() {
conn = mysql_init(NULL);
if (mysql_real_connect(conn, IPADDRESS, HOSTNAME, PASSWORD, DATABASE, 3306, NULL, 0) == NULL) {
printf("mysql_real_connect连接失败%d!!!\n",GetLastError());
return false;
}
else {
printf("数据库连接成功!!!\n");
return true;
}
}
void work() {
const char* sql_sentence = “select * from chafen”;
//执行sql
mysql_query(conn, “SET NAMES GB2312”);
mysql_query(conn, sql_sentence);
//得到sql语句的结果
MYSQL_RES* res_ptr= mysql_store_result(conn);
if (res_ptr == NULL) {
printf("mysql_store_result error\n");
exit(1);
}
int res_t = mysql_num_fields(res_ptr);
MYSQL_ROW r;
while(r = mysql_fetch_row(res_ptr)) {
for (int i = 0; i < res_t; i++)
{
cout <<r[i]<< "\t\t";
}
cout << endl;
}
mysql_free_result(res_ptr);
}
int main() {
bool n=init();
if (n) {
work();
}
else {
printf(“程序退出\n”);
}
return 0;
}
运行结果: