我用vc+mysql编了一个程序,mysql的host我改成了我的ip地址,权限我也改了,
1)现在局域网可以正常连接我这台电脑mysql并且可以对它操作,但是外网不行,网上有些说需要安装客户端,请问各位大哥,为什么了?
2)我在本机上创建了数据源,在把应用程序拷到其它电脑时,提示“未发现数据源名称并且未指定默认驱动程序”,那各位大哥,我应该怎么做?最后,总结一下,我在我的电脑上编写带有一个mysql的vc程序,我希望拷到另一台外网的电脑上,他不需要安装任何mysql的东西就能访问我的mysql,谢谢各位大哥了,查了2天,实在有点晕了
1)现在局域网可以正常连接我这台电脑mysql并且可以对它操作,但是外网不行,网上有些说需要安装客户端,请问各位大哥,为什么了?
2)我在本机上创建了数据源,在把应用程序拷到其它电脑时,提示“未发现数据源名称并且未指定默认驱动程序”,那各位大哥,我应该怎么做?最后,总结一下,我在我的电脑上编写带有一个mysql的vc程序,我希望拷到另一台外网的电脑上,他不需要安装任何mysql的东西就能访问我的mysql,谢谢各位大哥了,查了2天,实在有点晕了
OR用MYSQL提供的API函数#include "mysql/mysql.h " main()
{ MYSQL data;
MYSQL *pdata;
MYSQL_RES *result;
MYSQL_ROW row;
char sqlcommand[80]; pdata = mysql_connect(&data, "localhost ", "root ", "testroot ");
if(pdata){
printf( "ok, connected!\n ");
mysql_select_db( pdata, "966info ");
sprintf( sqlcommand, "select * from %s ", "966table ");
mysql_query( pdata, sqlcommand);
result = mysql_use_result( pdata);
row = mysql_fetch_row( result); // 获得结果中的下一条记录
mysql_close( pdata);
} } 编译的时候必须加参数, 与mysql的库连接 -lmysqlclient, 例如: gcc -o test test.c -lmysqlclient
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
#include "mysql/mysql.h " main()
{ MYSQL data;
MYSQL *pdata;
MYSQL_RES *result;
MYSQL_ROW row;
char sqlcommand[80]; pdata = mysql_connect(&data, "localhost ", "root ", "testroot ");
if(pdata){
printf( "ok, connected!\n ");
mysql_select_db( pdata, "966info ");
sprintf( sqlcommand, "select * from %s ", "966table ");
mysql_query( pdata, sqlcommand);
result = mysql_use_result( pdata);
row = mysql_fetch_row( result); // 获得结果中的下一条记录
mysql_close( pdata);
} } 编译的时候必须加参数, 与mysql的库连接 -lmysqlclient, 例如: gcc -o test test.c -lmysqlclient这个吧
if (&mysql == mysql_real_connect(&mysql, "xxx", "root", "000000", "mysql", 3306, 0, 0))//连接一个mysql服务器 增加
m_list.AddString(_T("success"));
else
m_list.AddString(_T("failed"));
连了,xxx:代表我的ip,可以在局域网运行,但是外网貌似不行,不知道为什么
权限是这样设置的
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
这是参数
(&mysql, "xxx", "root", "000000", "mysql", 3306, 0, 0)
xxx是我的IP
在外网MYSQL服务器上,试试
grant all privileges on *.* to aa@'192.167.0.6' identified by "123";
[收集]mysql 无法联接故障现象及原因