现在的位置: 首页 > 综合 > 正文

用ini文件远程连接mysql

2012年03月07日 ⁄ 综合 ⁄ 共 1029字 ⁄ 字号 评论关闭

最近改写个东西,又重新写了写MySql的连接。为了便于灵活应用,用读取ini文件的方式读取mysql连接参数。

顺便学习了下ini文件。

ini格式。

ini文件由很多节组成。

[NETWORK]//节
host=*.*.*.*//host:键、IP:值
user=root
pwd=//不写即为空

读取:

GetPrivateProfileString("NETWORK","host","",host.GetBuffer(MAX_PATH),MAX_PATH,strFileName);

参数列表依次为:节名,键名,lpdefault,键值,键值长度,ini文件路径
lpDefault : 如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量.

返回值:键值。

写:

WritePrivateProfileString("NETWORK","host","1.2.3.4",strFileName);

参数列表依次为:节名,键名,键值,ini文件路径

返回值:Long,非零表示成功,零表示失败

文件路径:

  1.INI文件的路径必须完整,文件名前面的各级目录必须存在,否则写入不成功,该函数返回 FALSE 值.

  2.文件名的路径中必须为 \\ ,因为在VC++中, \\ 才表示一个 \ .

  3.也可将INI文件放在程序所在目录,此时 lpFileName 参数为: ".\\student.ini".

配置文件写好了,接着就是连接:

mysql_real_connect(&mydata,host,user,pwd,database,port,unix_socket,clientflag);

//其中的参数即是读取文件获得的。

数据的连接晚上帖子一堆,不再重述。mysql的连接基类已写好。稍后上传到资源。

想要远程连接,还有一个很重要的步骤:

设置服务器可以远程:

1、在控制台执行
mysql -u root -p mysql,系统提示输入数据库root用户的密码,输入完成后即进入mysql控制台,这个命令的第一个mysql是执行命令,第二个mysql是系统数据名称,不一样的。 

2、在mysql控制台执行 GRANT ALL PRIVILEGES ON *.* TO ‘root'@'%' IDENTIFIED BY ‘MyPassword' WITH GRANT OPTION; 

3、 mysql>
FLUSH PRIVILEGES; //使修改立即生效

可能会出现10060无法连接的错误,这时要查看下是否防火墙禁用了3306端口。

抱歉!评论已关闭.