用ini文件远程连接mysql

最近改写个东西,又重新写了写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端口。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
远程连接 MySQL 数据库,你需要确保以下几个步骤已经完成: 1. 在 MySQL 服务器上启用远程访问:默认情况下,MySQL 服务器只允许本地访问。你需要编辑 MySQL 配置文件,通常是 my.cnf 或 my.ini 文件,将 `bind-address` 参数设置为服务器的 IP 地址或 `0.0.0.0`,以允许来自其他主机的连接。保存并重启 MySQL 服务。 2. 创建数据库用户并授予权限:在 MySQL 中,每个用户都有特定的主机(host)权限。你需要创建一个具有远程访问权限的用户并为其授予适当的权限。可以使用以下命令创建用户: ```sql CREATE USER 'username'@'%' IDENTIFIED BY 'password'; ``` 然后,为该用户授予访问数据库的权限: ```sql GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'%'; ``` 这将授予用户对指定数据库的所有权限。 3. 配置防火墙和网络设置:确保服务器上的防火墙允许来自客户端连接的流量通过 MySQL 的默认端口(通常是 3306)。如果你使用的是云服务提供商,还需要检查其安全组或网络配置,确保允许远程 MySQL 连接。 完成上述步骤后,你可以在客户端使用 MySQL 客户端工具连接到远程 MySQL 数据库。例如,可以使用 MySQL 命令行工具或图形化工具(如 Navicat、MySQL Workbench 等)进行连接。在连接时,提供服务器的 IP 地址、端口、用户名和密码即可。 请注意,远程连接 MySQL 数据库可能会带来安全风险。确保采取适当的安全措施,如使用强密码、限制访问权限等,以保护你的数据库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值