用ini文件远程连接mysql

2014-11-24 16:41:24 · 作者: · 浏览: 2

用ini文件远程连接mysql
最近改写个东西,又重新写了写MySql的连接。为了便于灵活应用,用读取ini文件的方式读取mysql连接参数。
顺便学习了下ini文件。
www.2cto.com
ini格式。
ini文件由很多节组成。
[cpp]
[NETWORK]//节
host=*.*.*.*//host:键、IP:值
user=root
pwd=//不写即为空
读取:
[cpp]
GetPrivateProfileString("NETWORK","host","",host.GetBuffer(MAX_PATH),MAX_PATH,strFileName); www.2cto.com
参数列表依次为:节名,键名,lpdefault,键值,键值长度,ini文件路径
lpDefault : 如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量.
返回值:键值。
写:
[cpp]
WritePrivateProfileString("NETWORK","host","1.2.3.4",strFileName);
参数列表依次为:节名,键名,键值,ini文件路径
返回值:Long,非零表示成功,零表示失败
文件路径:
  1.INI文件的路径必须完整,文件名前面的各级目录必须存在,否则写入不成功,该函数返回 FALSE 值.
  2.文件名的路径中必须为 \\ ,因为在V
C++
中, \\ 才表示一个 \ .
  3.也可将INI文件放在程序所在目录,此时 lpFileName 参数为: ".\\student.ini".
配置文件写好了,接着就是连接:
[cpp]
mysql_real_connect(&mydata,host,user,pwd,database,port,unix_socket,clientflag);
//其中的参数即是读取文件获得的。 www.2cto.com
数据的连接晚上帖子一堆,不再重述。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端口。